membership 是asp.net里一套功能很强大的用户验证 权限管理的组件
自己折腾着 做了个简单的demo 实现用户验证 登录 注册 访问权限的功能 其实这些功能 强大的membership已经全部集成 我们只需要一点点的配置 就可以了
新建网站 里面新建了5个页面:Default.aspx(默认首页)、Login.aspx(登录页面)、Register.aspx(注册页面)、PasswordReset.aspx(修改密码页面)、Account.aspx(内容页面)
首先是配置数据库 用sqlserver新建一个数据库 名字随意 然后找到Framework文件夹下.net对应版本中(默认是C:\Windows\Microsoft.NET\Framework)的aspnet_regsql.exe程序 运行之~对新建的那个数据库进行配置 配置完成后 可以发现在数据库中出现了一系列的表 :

暂且先不管他 这些表在这个demo中不会用到
然后在web.config里进行配置
找到authentication项 mode属性的值为“Forms”
里面内容为<forms defaultUrl=”~/Default.aspx” loginUrl=”~/Login.aspx” timeout=”30″/>
这几个页面要与需要跳转的页面名字一致
而用户验证里的各个属性配置都在<membership>配置项里
<membership>
<providers>
<clear/>
<add name=”AspNetSqlMembershipProvider”
type=”System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
connectionStringName=”membershipTestConnectionString”
enablePasswordRetrieval=”false”
enablePasswordReset=”true”
requiresQuestionAndAnswer=”true”
applicationName=”/”
requiresUniqueEmail=”false”
passwordFormat=”Hashed”
maxInvalidPasswordAttempts=”5″
minRequiredPasswordLength=”6″
minRequiredNonalphanumericCharacters=”0″
passwordAttemptWindow=”10″
passwordStrengthRegularExpression=”"/>
</providers>
</membership>
这一段其实可以从C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG的machine.config里找到
注意<clear/>标签 这个是必须的 不然会在访问的时候出现“项“AspNetSqlMembershipProvider”已添加‘的错误信息 或者可以用<remove name=”AspNetSqlMembershipProvider” />
具体每项表示什么 不详说了
<location path=”Account.aspx”>
<system.web>
<authorization>
<deny users=”?”/>
</authorization>
</system.web>
</location>
这一项表示某一页面访问的条件 这里是需要用户登录
这样web.config里第一步就配置好了
然后在各个对应页面里拖控件了 vs里提供用户验证的各种控件 很方便
其实是有点困了~剩下部分 可以自己慢慢折腾 折腾出来的才是好东西!