我正在做一个后台管理程序,有一个函数需要多个页面进行访问,也就是想通过这个函数来判断用户有没有登录该页的权限,即页面上传一个值与该用户的权限列表进行比较。不知这个如何实现?请指教!
解决方案 »
- DetailsViews 如何控制编辑状态下的TextBox的样式?
- .NET URL重写问题,urlrewritingnet在线等待!谢谢~~~~
- 请问数据库类别栏目设计问题
- 不知道该如何取这个标题?有一定难度,在线等,解决即给分
- 求购几本2手书,up者有分
- 初级问题:未处理的“System.ArithmeticException”类型的异常
- 请问一个问题
- 这个字符串怎么写?
- 如何根据多条件在数据库里进行查询?急!!!
- 请教如何在datagrid中不出现标题行
- 怎样才能用SQL 语句来获得登陆到SQL SERVER服务器上的用户的基本信息
- 请教如何用隐藏字段(HtmlInputHidden)在不同页间传递参数
在每个页面page_load里进行判断,最好不要以内感页面传值的办法
要么使用session或者cookie保存权限信息
要么就通过用户ID到数据库取权限信息
判断权限可以使用的方法例:
需要判断权限的页面一共有N个
那权限信息就为N位,INT型
每位数字代表一个页面的权限,0位无权限,1为有权限
进页面前就判断对应该页面的位数的值是否为1或者0
private void BasePage_Load(object sender, System.EventArgs e)
{
if (Context.User.Identity.IsAuthenticated) //判断是否登陆
{
if (!(Context.User is SitePrincipal))//判断是否为自定义的验证结构
{
SitePrincipal newUser = new SitePrincipal( Context.User.Identity.Name);
Context.User = newUser;
}
}
else
{
System.Web.HttpContext.Current.Response.Redirect("/book/admin/login.aspx");
} }
可以改成Session或者cookie可以写一些判断的方法 所有页面继承一下就可以
private bool hasThisPower(string rankName)
{
……
}
写了这样一个方法,问题是如果每个页面都写这样一个方法,未免有点垃圾了。
{
class common
{
private bool hasThisPower(string rankName)
{
……
}
}}