前几天,开始接触membership,一肚子疑惑,于是就找了一些资料发了这篇blog:
关于membership实用性讨论 。
但是,还是感觉不能理解membership。于是今天又查阅了大量资料,才对membership有了进一步的理解。
早期版本的ASP.NET 2.0 框架附带了两个成员身份提供程序: AccessMembershipProvider 以及 SqlMembershipProvider。正式版本已经不再提供 AccessMembershipProvider,默认只有 SqlMembershipProvider。要想使用其他数据库或者使用自定义的用户信息,就必须自己编写 MembershipProvider ,然后在web.config文件里配置:
使用 SqlMembershipProvider时,通过在web.config文件里进行配置改变其苛刻的要求(密码长度,复杂度等):
这样配置的原理是web.config里的设置覆盖了machine.config的默认设置,简化了用户注册的复杂度。
这篇文章( 阅读)详细介绍了 SqlMembershipProvider。
以上资料仅是介绍了 MembershipProvider的配置方法,那怎么实现自定义的 MembershipProvider呢?我找到了这样一篇文章( 阅读),介绍了怎样实现自定义一个基于Access的 MembershipProvider,并提供实例的源码下载 。
并且微软也提供了 Sample Access Providers下载。
但是,还是感觉不能理解membership。于是今天又查阅了大量资料,才对membership有了进一步的理解。
早期版本的ASP.NET 2.0 框架附带了两个成员身份提供程序: AccessMembershipProvider 以及 SqlMembershipProvider。正式版本已经不再提供 AccessMembershipProvider,默认只有 SqlMembershipProvider。要想使用其他数据库或者使用自定义的用户信息,就必须自己编写 MembershipProvider ,然后在web.config文件里配置:
<configuration> <system.web> <membership defaultProvider="provider名" /> </system.web> </configuration> |
使用 SqlMembershipProvider时,通过在web.config文件里进行配置改变其苛刻的要求(密码长度,复杂度等):
<membership> <providers> <clear/> <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="3" /> </providers> </membership> |
这篇文章( 阅读)详细介绍了 SqlMembershipProvider。
以上资料仅是介绍了 MembershipProvider的配置方法,那怎么实现自定义的 MembershipProvider呢?我找到了这样一篇文章( 阅读),介绍了怎样实现自定义一个基于Access的 MembershipProvider,并提供实例的源码下载 。
并且微软也提供了 Sample Access Providers下载。