我该如何控制,不同角色访问不同页面
我有2种角色的登陆用户
一个经理
一个普通
不同角色可以访问到不同页面的
例如:
经理角色登陆用户可以访问A.ASPX和B.ASPX等页面
普通角色登陆用户可以访问A.ASPX和C.ASPX等页面怎么防止经理角色的登陆用户访问C.ASPX页面
我知道可以在程序中通过逻辑控制根据不同角色分别转向不同页面
如果经理角色用户直接在IE浏览器上输入C.ASPX不就也可以访问了吗我该如何控制,不同角色访问不同页面
我想到的方式为:在用户登陆时创建会话,在此会话中存入登陆用户的角色信息
在每一个页面的LOAD过程中判断会话中的信息,来控制请问还有什么其他方法吗
ASP.NET中有没有其他方式控制?
谢谢
我有2种角色的登陆用户
一个经理
一个普通
不同角色可以访问到不同页面的
例如:
经理角色登陆用户可以访问A.ASPX和B.ASPX等页面
普通角色登陆用户可以访问A.ASPX和C.ASPX等页面怎么防止经理角色的登陆用户访问C.ASPX页面
我知道可以在程序中通过逻辑控制根据不同角色分别转向不同页面
如果经理角色用户直接在IE浏览器上输入C.ASPX不就也可以访问了吗我该如何控制,不同角色访问不同页面
我想到的方式为:在用户登陆时创建会话,在此会话中存入登陆用户的角色信息
在每一个页面的LOAD过程中判断会话中的信息,来控制请问还有什么其他方法吗
ASP.NET中有没有其他方式控制?
谢谢
解决方案 »
- asp.net(C#) 内容分页
- DropDownList的问题
- 急! 在线等 localhost 端口号设置
- VS2005 GridView控件没了2003属性生成器的功能了吗??
- 学asp.net的大专生还要不要升本科,过来人明示,致辞长谢<<--------------------
- Session可以写在类中吗?
- 关于正则表达式和RegularExpressionValidator的一个问题!
- 如何获得已经上传到服务器上某个文件的大小及其它属性
- 求教
- 有关win XP internet服务管理器的问题!!!!!! 散50分
- "已有打开的与此连接相关联的DataReader"问题
- 我前台的公告,新闻,商品介绍怎么放到前台的登陆界面里
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;311495http://www.microsoft.com/china/msdn/library/architecture/architecture/architecturetopic/BuildSucApp/BSAAsecmod03.mspx
role 用户权限类别表 1.经理 2.用户
user 用户表
module 模块表 相应模块对应相应的url。
user_role 用户对应的权限。
User_Module 用户对应的模块。以上可以动态生成对应用户权限的导航条了,可以跟csdn左侧的那个导航一样。验证的时候页面继承一个BasePage的权限验证类,BasePage用来根据用户权限判断用户有权限访问页面。
在数据库里建里一个表用来储存你的前端页面名。
再建立一个角色表,将每个角色能操作的页面名写到这个表里。
再建用户表,将用户与角色关联。
再你的程序里写一个CheckAuth类用来判断某个角色能不能打开某个页面(这个sql你应该回写吧!)
在登录时,将此用户的角色保存到Session对象里。
在每次打开新页面之前调用CheckAuth类来判断,如果返回真就转到新页面,否则就提示错误!
将用户名和密码还有权限写进cookie,在A.ASPX、B.ASPX、C.ASPX里来判断用户名、密码、权限都相符的才能打开本页面
也可以直接写进session,然后直接根据session值来判断就好了
if session(session名)<>"角色名"
response.end
谢谢你的提示
按你的思路
我先建立表
不同角色,能操作的页面名写到这个表里
我再到Global文件中的事件Application_OnStart()
把表中数据读出来放到CACHE中由于我的页面不太多
我想把表中的数据放在WEB.CONFIG中,这样就可以不建立表了基于角色的身份验证?在ASP.NET中有没有自己带的验证机制?
哪里有资料谢谢