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

解决方案 »

  1.   

    页面验证是比较简单的方法,但是增加了代码量,而且之后的维护不是太方便。建议使用权限数据管理的方式,如果在数据库中添加权限表,每次都要每次都要访问数据库,对性能有影响!个人意见:使用XML文件记录权限,类似于windows验证方式,首先创建几种权限,之后的用户隶属于一个或者多个权限,每种权限中记录可以进入的页面。
    题外话:如果你要是MVC架构的,那可以简单很多,你可以参考一下,MVC中在类,方法前加注标签的方法。
      

  2.   

    参考:
    http://zzk.cnblogs.com/s?w=blog%3Ainsus%20%E6%9D%83%E9%99%90
      

  3.   

    一般遇到问题 我都是先把功能实现 那怕代码写的再乱然后再考虑优化自己走Code了一遍,解决了遇到的问题,回过头再来看这些问题,可能会有新的思路出现。
      

  4.   

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