用户-角色-权限的问题

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

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


...全文
727 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
让我BS一下楼主先
test33 2006-12-09
  • 打赏
  • 举报
回复
帮顶,学习`
yowbell 2006-12-09
  • 打赏
  • 举报
回复
帮顶,学习
andy0618 2006-12-09
  • 打赏
  • 举报
回复
后台发布的时候,你要尽量把所有能记录的信息记录入数据库,这样就有更多的选择来维护和实现功能
andy0618 2006-12-09
  • 打赏
  • 举报
回复
后台发布的时候,你要尽量把所有能刻录的信息记录入数据库,这样就有更多的选择来维护和功能
andy0618 2006-12-09
  • 打赏
  • 举报
回复
在用户发布新闻的时候,你要记录是谁发布的这条新闻,比如FBR_ID字段来记录

如果想要对这条新闻加上角色权限,就再加一个角色的字段,比如JS_ID

这样通过WHERE 语句来进行筛选
lovexyyy 2006-12-09
  • 打赏
  • 举报
回复
支持一下了!这个问题!~我还是个人认为在数据库里加上新闻发布人好一点!这样虽然说有点频繁操作数据库不过就样对维护好点!

而对:erictang2003() 说的WEB.CONFIG 是什么操控文件!小弟不堪明白可否解释一下·!谢了
cat_hsfz 2006-12-08
  • 打赏
  • 举报
回复
最简单的办法,在web.config中配置子目录与Roles的访问权限关系,然后用SiteMap来声明导航。普通的SiteMapProvider自然会根据URL和配置来知道一个导航节点当前用户是否有权访问,没权访问的节点它会自动隐藏。

更复杂的做法,就是自己继承SiteMapProvider,在里面实现自己的权限处理逻辑。
tianyi_hsy 2006-12-08
  • 打赏
  • 举报
回复
还是进入模块时根据用户参数来判断范围好点,这样容易实现也便于维护。
nicochang 2006-12-08
  • 打赏
  • 举报
回复
用户对应的角色,角色对应的权限
权限是什么,是操作的集合
现在是,不同的用户,有不同的权限,表面上看都是浏览这样一个操作
但是实际上,是不同的操作,不同的操作肯定要靠代码来实现
一个办法,用一套代码,通过参数来判断,但是这样不好的地方就是,耦合度很高,如果有权限的变化,处理起来很麻烦,而且是直接在代码中处理
还有一个办法,是不同的操作,用不同的代码实现,也就是说,管理员,和其他的人是不同的代码,在角色定义的时候,权限定义映射到不同的代码上
这样,可以实现解耦
这样不好就是有冗余的代码,需要从代码结构上考虑一下,用继承之类的办法,优化一下
xuyiazl 2006-12-08
  • 打赏
  • 举报
回复
给所有管理员分级别 ~~~~~~这样会更方便`~
管理员 ---- A级
新闻录入员A和新闻录入员B ----B级

当A级登陆 显示所有

B级则通过参数查询
softfire007 2006-12-08
  • 打赏
  • 举报
回复
有个LoginView控件
没有弄过 顶
xuyiazl 2006-12-08
  • 打赏
  • 举报
回复
管理员的权限是所有

可以做个判断 管理员admin是唯一的

如果是admin登陆则开放所有权限 查询所有
xuyiazl 2006-12-08
  • 打赏
  • 举报
回复
你不是实现了` 登陆时候随着管理员的身份 变化菜单吗
每个管理员都带有参数
设置权限也一样 管理员的权限是所有

新闻录入员A和新闻录入员B可以通过参数来识别自己发表的文章
cuizhanjun1981 2006-12-08
  • 打赏
  • 举报
回复
new表里 添加一个userid字段来记录谁发的那一条新闻信息。然后在 where里加上这个条件的过滤就行了。
super_chen 2006-12-08
  • 打赏
  • 举报
回复
江湖求救,请各位大吓帮帮忙
erictang2003 2006-12-08
  • 打赏
  • 举报
回复
哪有那么麻烦啊!直接在WEB.CONFIG 里边分配权限又快又好!
  • 打赏
  • 举报
回复
新闻录入员A(newsRecordA)和新闻录入员B(newsRecordB)是同一角色(新闻录入员),

好,他们是同一角色,但是他们在user表中是唯一的吧。如a他的userid 为1,b的userid为2
那么,你在news表中,记录下每条新闻的所有人.如
newsid newstitle newsWho
0001 title1 1
0002 title11 2

这样你选的时候,把他们登录时的userid记录下来,在这里找到所有的newswho 等于他们的userid的不就是可以了。
super_chen 2006-12-08
  • 打赏
  • 举报
回复
类别权限已实现,就是业务权限连不上
hy_lihuan 2006-12-08
  • 打赏
  • 举报
回复
当进查看发布新闻节点(管理菜单中的一节点),怎么实现管理员(admin)可以看到所有新闻,新闻录入员A(newsRecordA)只能看到他自己发布的新闻,新闻录入员B(newsRecordB)也只能看到他自己发布的新闻

这个不是权限的问题,应该是直接通过代码实现的阿,比如进入以后管理员有修改,删除的按钮,其他人员没有,这个才叫权限控制把
加载更多回复(4)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧