首页 新闻 搜索 专区 学院

MVC里具体数据的权限控制问题

0
悬赏园豆:10 [已解决问题] 解决于 2012-04-20 15:19

MVC里权限控制问题:权限控制可以通过继承AuthorizeAttribute类重写OnAuthorization方法来进行基于角色的验证,控制精度到Action,但对于具体数据的权限验证,应该怎么做呢?比如:一个用户发表了一篇文章,需要有编辑权限,判断标准为文章的用户编号与当前用户编号相同时具有权限,这个问题的处理是否只能在Action的代码中进行了,而不能在AuthorizeAttribute的派生类中进行?这个问题困扰了我好久,希望大家提供帮助,谢谢

郭明锋的主页 郭明锋 | 初学一级 | 园豆:114
提问于:2012-04-12 18:29
< >
分享
最佳答案
0

我的做法是在View中判断的,有权限则给出链接

当然,在controller中也在进行判断的

收获园豆:8
artwl | 专家六级 |园豆:16526 | 2012-04-12 19:59

在View判断应该不太好吧,个人认为View中不应该再写逻辑代码了,那样难以维护,我想是不是可以传当前信息的用户编号字段到ActionLink的扩展方法中与当前用户进行比较,这样不用写额外的逻辑,也能做到通用性。另外这个问题的逻辑控制我想也只能写在Action里面了,因为涉及到了具体的数据了,AuthorizeAttribute是在Action执行前执行的,还没到数据层面,管不了数据的问题

郭明锋 | 园豆:114 (初学一级) | 2012-04-20 15:10
其他回答(1)
0

先定義一個基類,繼承controller,然後,你寫的controller,都繼承這個基類。

可以繼承AuthorizeAttribute,然後在裏面,就都可以對數據進行驗證了。

同時,你也可以自己建立一個filerattribute,自己寫一個,那就更方便了。

收获园豆:2
無限遐想 | 园豆:3740 (老鸟四级) | 2012-04-13 10:10

我问的是对具体数据的权限判断,而AuthorizeAttribute只能做到Controller与Action层面

支持(0) 反对(0) 郭明锋 | 园豆:114 (初学一级) | 2012-04-20 15:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册