日期:2014-05-17  浏览次数:20388 次

asp.net权限问题,我是新手,前辈们别笑我啊。。。
最近初学asp.net,现要做个网站,准备三种角色,游客,用户,管理员。游客只能访问其中指定的网页,用户可以访问所有页面,但不能修改和添加数据,管理员可访问,修改所有页面及数据。
我想了两种方式,
1.每个页面载入之前判断权限,无权限就无法载入,跳转到其他页面。这样可以把修改和添加 这项功能放到一个单独页面中,仅管理员可访问该页面,从而进行修改。
2.设置权限表,仅管理员的修改权限设置为允许,其他角色都无权限。
我是新手,不知道这两种方法可行吗?有什么区别?
其实我主要纠结在修改功能和添加功能这个权限上,不知道到底是将其放在单独页面里,然后设置该页面访问权限来达到控制目的,还是其他更简单方法?

------解决方案--------------------
页面验证是比较简单的方法,但是增加了代码量,而且之后的维护不是太方便。

建议使用权限数据管理的方式,如果在数据库中添加权限表,每次都要每次都要访问数据库,对性能有影响!

个人意见:使用XML文件记录权限,类似于windows验证方式,首先创建几种权限,之后的用户隶属于一个或者多个权限,每种权限中记录可以进入的页面。


题外话:如果你要是MVC架构的,那可以简单很多,你可以参考一下,MVC中在类,方法前加注标签的方法。
------解决方案--------------------
操作之前先判断,权限不够的就不现实修改这个功能就好了。
------解决方案--------------------
探讨

引用:

不就是三种身份吗,写几行代码判断一下就好了,哪有那么夸张啊



我就是纠结在到底是通过页面权限来限制,还是将某一些功能对权限隐藏来限制。。。

------解决方案--------------------
SQL建立角色表的时候给权限,登录的时候写COOKIES,显示页面的时候判断COOKIES,不符合则不显示