首页 新闻 会员 周边 捐助

asp.net web 权限设计

0
悬赏园豆:10 [已解决问题] 解决于 2014-08-05 18:34

最近有个想法,就是想自己控制界面的每个元素,比如button,不同的角色,不同的用户,这个功能禁用,还是允许使用,通过if() 来显示或者隐藏绝对不是个好方法,难维护了。

我想的是,不同角色,假设10个,所有page到10个文件夹中,每个文件夹代表一种权限的所有page.在登录的时候,判断角色,选取进入到某个文件夹中开始访问,好像也不怎么好,

我想知道这个博客园是怎么样做的呀,登录用户只能添加修改删除自己的博文,其他用户的我们只能浏览或者评论。

我就想实现类似博客园这种控制方式,哪个大哥能告知下,该怎么设计?

chengdu.jack.li的主页 chengdu.jack.li | 菜鸟二级 | 园豆:274
提问于:2014-03-27 22:10
< >
分享
最佳答案
1

把相关 表结构设计好。

以前有一个项目的做法是:页面上本来有所有的权限操作按钮,每个页面生成时都有一个统一的根据相关权限生成一段删除没有权限按钮的js,页面加载时会执行js,把相关按钮删除,只留下可用的。这个操作可能要把每个按钮的id存入数据库。

收获园豆:10
Qlin | 老鸟四级 |园豆:2403 | 2014-03-28 09:24

这样确实可行,也是一种方法

可知道博客园这个功能是咋个实现的吗?

chengdu.jack.li | 园豆:274 (菜鸟二级) | 2014-03-28 09:28
其他回答(2)
1

根据不同的权限输出不同的标签就可以了。也可以判断是否是属于自己的博客:是,输出的是修改删除等编辑按钮,不是,输出的是评论收藏等按钮

最长的路漫漫 | 园豆:252 (菜鸟二级) | 2014-03-28 09:10

怎么实现的呢?根据条件隐藏或显示吗?

支持(0) 反对(0) chengdu.jack.li | 园豆:274 (菜鸟二级) | 2014-03-28 09:24

@chengdu.jack.li: 一种方法是根据权限,设置标签的属性,可见或不可见,另一种就是根据不同的权限,选择输出不同的标签

支持(0) 反对(0) 最长的路漫漫 | 园豆:252 (菜鸟二级) | 2014-03-28 09:27
1

权限一般是定位到操作.就是指定一个操作需要什么样的权限

吴瑞祥 | 园豆:29449 (高人七级) | 2014-03-28 10:06

举个例子,界面有个删除按钮<asp: linkbutton...>,后台事件<linkEvent....>但是一般user只能看,自己才能删.怎么做到控制?靠权限来隐藏吗? if(myself){link.visible=true}??

支持(0) 反对(0) chengdu.jack.li | 园豆:274 (菜鸟二级) | 2014-03-28 10:09

@chengdu.jack.li: 你做webform的啊``这个不好说啦.

是把没个操作作为一个请求来.根据请求的url来判断有没有权限.这个比较简单.

因为一旦进入程序,你不能保证程序里执行了那些操作

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2014-03-28 10:11

@吴瑞祥: 

不咋明白,一个url,界面里很多button,很多事件,咋根据一个url能判断?

支持(0) 反对(0) chengdu.jack.li | 园豆:274 (菜鸟二级) | 2014-03-28 10:12

@chengdu.jack.li: 你做webfrom的,所以操作是以事件为单位.

mvc操作是以请求为单位的.你要给每个事件定义一个操作权限的.比如这个点击事件必须要怎么样的权限

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2014-03-28 11:12

@吴瑞祥: 我做常规的webform, Not MVC

支持(0) 反对(0) chengdu.jack.li | 园豆:274 (菜鸟二级) | 2014-03-31 10:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册