一个网站有很多页面,不同的用户有不同的权限,一般会给用户提供角色方便管理。我在用VS2005提供的登录控件后可以很快的实现一个页面登录体系,但是没有一个网站对用户进行管理的后台(比如队页面权限的限制,角色的分配等操作),当然在VS2005的集成环境下它提供了一个页面管理工具可以管理用户信息和站点管理,但是我在部署网站的时候是不可能拥有VS2005才能部署的啊,我看了一些资料说是自定义成员类(membership),但是控件好像都把这些类型封装好了,我根本看不到,请问各位大虾该如何做,才能实现自己的完善的用户认证体系,可以方便的用于以后的网站开发中去

解决方案 »

  1.   

    成员资格(membership)是封装好了,但还是有许多自定义的地方,仔细看看吧,比较好用的,可以省不少事
      

  2.   

    据我所知,我的理解是这样0\创建几个角色先,如创建User,Admin,SuperAdmin三种角色
    1\创建登录界面,当然可以直接使用登录控件,或是自己使用membership api来做登录验证
    2\创建一个文件夹,如名称为login,在web.config中指定该login文件夹的访问权限为User,也就是最低级别的权限,这样每一个登录用户,都可以访问该文件夹中的默认页面如default.aspx,用户登录后显示的页面.
    3\该页面中有一个使用loginview的控件,配置该控件,该控件可以做到让不同角色的用户,显示不同的内容,那么可以做到不同的角色,会看到不同的菜单.如赋于Admin角色的菜单如下:<a href="admin/managePartment.aspx">管理部门</a>,那么对于User角色的用户,是看不到这个链接的.即使具有User角色的用户,直接敲入这个地址,也因为不具有角色而无法访问.
    4\创建后台管理,可以实现添加用户,添加角色,用户和角色管理等管理.希望对你有所帮助.
      

  3.   

    正面临同样的问题。决定使用membership
      

  4.   

    四楼的想法是不错的,我在一些书上看到过类似的做法,但是他提供的MEMBERSHIP是完全定义好的,就是说我改了数据库的用户表结构后肯定报错,一般我们会自己定义三个表,USER,ROLE,USER_IN_ROLE,这样来对数据库操作以保存用户,角色信息,那当我打开一个页面时怎样保证触发页面的认证呢??我以前的做法是定义一个PAGE类,然后每一个页面都继承这个类,在自己写的PAGE类实现验证的方法,不知道哪位大虾有好的建议
      

  5.   

    google一下搜索4guys asp.net membership.看完了全部系列有问题再来问.
      

  6.   

    membership完全可扩展和自定义.你不用修改自动生成的表.你先看完练一会再来问问题吧.