用户角色,权限的问题

vagerent 2006-06-27 10:14:49
最近要做一套系统,涉及到用户角色和权限,而且权限分类特别多;目前思路是这样的:
思路1.每次打开一个页面就去读数据库,判断该用户是否有相应的权限.缺点是数据库访问频繁.
思路2.用户登录时把他对应的权限字符串(还没想好这个字符串怎么构造,因为权限实在太多了)保存在
session中,每页load时判断是否有此权限.缺点是权限太多,而且判断时不好判断.

请教大家平时做这种权限分类很多的系统都是怎么做的啊?
...全文
312 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
MonkWang 2006-06-27
  • 打赏
  • 举报
回复
具体该怎么做呢 有没有代码给看看?
fxqyyzg 2006-06-27
  • 打赏
  • 举报
回复
很简单,我们可以做一个基类,该基类的主要作用是权限判断以及其他的以下功能,其他子页面只要继承该类就可以了,这样就可以省去很多了。。。。。。。。



楼主记得多给分啊。。。。。

===============================
你这不还是一个一个的读数据库吗

把权限放到数据库的一个字段里,用","分隔或作成类似linux中权限那样几个数字加到一起
vagerent 2006-06-27
  • 打赏
  • 举报
回复
可问题是权限太多,保存成树会不会对服务器有影响?
hhbeginer 2006-06-27
  • 打赏
  • 举报
回复
可以把模块判断写在httpmodule里,把权限树写在application_start里
vagerent 2006-06-27
  • 打赏
  • 举报
回复
现在关键问题是我每load一页的时候去数据库判断好呢还是把N长的各种权限放在session里判断好呢?
vagerent 2006-06-27
  • 打赏
  • 举报
回复
用户名保存在session中可以,但是权限太多了怎么保存在session中?
engine198473 2006-06-27
  • 打赏
  • 举报
回复
很简单,我们可以做一个基类,该基类的主要作用是权限判断以及其他的以下功能,其他子页面只要继承该类就可以了,这样就可以省去很多了。。。。。。。。



楼主记得多给分啊。。。。。
amandag 2006-06-27
  • 打赏
  • 举报
回复
用户名和权限保存在session中比较好,其他信息可以通过用户名再做查询
iuhxq 2006-06-27
  • 打赏
  • 举报
回复
缓存不一定是session
vagerent 2006-06-27
  • 打赏
  • 举报
回复
一种方法是比如用户小王;角色:操作员;对应权限:客户添加,客户修改,订单管理,合同管理,手工出库,A类型审批....(还有很多).并且每个角色下的权限也是很多,这样保存在session里就是一个长字符串.这种方式好吗?
另一种方法是session里只保存用户名,具体到load页面或业务处理时再读数据库确定他是否有此权限,不过这样又要频繁读数据库.
大家有什么建议呢?(ps:这个帖子可不可以增加分数?)
iuhxq 2006-06-27
  • 打赏
  • 举报
回复
至于是否每次读数据库是你的逻辑问题,你可以在用户登陆的时候把权限缓存10分钟。
iuhxq 2006-06-27
  • 打赏
  • 举报
回复
http://www.microsoft.com/china/technet/security/guidance/secmod18.mspx

62,047

社区成员

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

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

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

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