ITPUB??ì3
ITPUB论坛 » Web开发 » ASP.NET与AJAX » 用户-角色-权限的问题

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: 用户-角色-权限的问题
离线 neo117
一般会员



精华贴数 0
个人空间 0
技术积分 148 (12250)
社区积分 0 (1203514)
注册日期 2006-12-7
论坛徽章:0
      
      

发表于 2006-12-9 09:14 
用户-角色-权限的问题

我做了一系统里面有新闻发布的模块,表如下:
news表(新闻的基本表)
user表(用户基本信息)
role表(角色基本信息)
menu表(后台管理菜单的基本信息)
userInRole表
userID
roleID
roleInMenu表
roleID
menuID

现在有3个用户admin,newsRecordA,newsRecordB
他们的角色为管理员,新闻录入员A,新闻录入员B
当这3个用户分别登陆的时候,管理菜单相应的变化(已实现)
当进查看发布新闻节点(管理菜单中的一节点),怎么实现管理员(admin)可以看到所有新闻,新闻录入员A(newsRecordA)只能看到他自己发布的新闻,新闻录入员B(newsRecordB)也只能看到他自己发布的新闻


只看该作者    顶部
离线 mxd061203
初级会员



精华贴数 0
个人空间 0
技术积分 122 (14269)
社区积分 0 (1203555)
注册日期 2006-12-8
论坛徽章:0
      
      

发表于 2006-12-9 09:16 
最简单的办法,在web.config中配置子目录与Roles的访问权限关系,然后用SiteMap来声明导航。普通的SiteMapProvider自然会根据URL和配置来知道一个导航节点当前用户是否有权访问,没权访问的节点它会自动隐藏。

更复杂的做法,就是自己继承SiteMapProvider,在里面实现自己的权限处理逻辑。


只看该作者    顶部
离线 mm_xlhy123
一般会员



精华贴数 0
个人空间 0
技术积分 90 (18068)
社区积分 0 (1206659)
注册日期 2006-12-7
论坛徽章:0
      
      

发表于 2006-12-9 09:18 
如果这样考虑呢?

user表中加一字段用来代表级别

userid username userlevel
1admin  9
2       newsrecordA       1
3       newsrecordB       1

在news表中

newsid   newsForUserID
1        2
2        2
3        3

这样划分每条新闻的归属

在newsView.aspx,你先判断一下用户的userlevel。如从一个dataset中
if ds.tables(0).rows(0).item("userlevel"=9 then
'列出所有新闻
else
select from news where newsForUserID=从该用户登录时取得的userid
'这样就可以取出登录用户的所有新闻了
end if

其实我觉得这里用membership和role就比较方便了。


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问