学习Provider模型,并重写自定义的AccessMembershipProvider
1.学习资料
园子里的 李万宝 翻译的文章:
介绍ASP.NET Provider模型,来自国外,单击此处下载源代码
第一部分:http://mqingqing123.cnblogs.com/archive/2006/05/06/392613.html
第二部分:http://mqingqing123.cnblogs.com/archive/2006/05/06/392667.html
第三部分:http://mqingqing123.cnblogs.com/archive/2006/05/09/394714.html
还有Ryu666's IT乐园的ASP.NET2.0 Provider模型(上)——原理、模型与分析
uGoer 的Community Server专题八:MemberRole之Membership 和
Community Server专题八:MemberRole之Membership深入篇
继续风之语 的揪出ASP.NET 2.0四大“插件”的总后台 -- ASPNETDB
而Tony Qu 的aspnetdb.mdf数据字典 可以查看到几个相关的数据表.
ScottGu's ASP.NET 2.0 Membership, Roles, Forms Authentication, and Security Resources
2.编写Provider程序的三个关键问题:
(1)提供程序的生命期;
(2)线程安全性;
(3)原子性;
3.Asp.net 2.0中实现自定义的AccessMembershipProvider,基于Access数据库
(1)AccessMembershipProvider继承自,而System.Web.Security.MembershipProvider又是继承自System.Configuration.Provider.ProviderBase,ProviderBase是一个abstract类(与Asp.net 1.X的接口实现不同,如IDbConnetion、IDbCommand,在Asp.net 2.0中,选择了抽象类来代替接口,至于使用接口和抽象类那个比较好,可以看《.NET设计规范》一书中的“4.3 类和接口之间的选择”和李万宝 翻译的第二篇文章中找到);
ProviderBase的两个公共属性:
Description:描述;
Name:提供程序名称;
一个方法:
Initialize:用来从配置文件Web.config读取信息并初始化Provider; 在AccessMembershipProvider将会重写此方法。
再看MembershipProvider类,所有方法都是abstract类型的,都将在AccessMembershipProvider实现,具体方法和属性说明,可查看MSDN,这里就不重复了。
AccessMembershipProvider除了实现基本的方法和属性外,还根据实际应用,扩展了几个接口,例如存储更多的用户附加信息,从MembershipUser派生出一个扩展的AccessUser,当MemberShip.GetUser的标准API返回的是一个标准的MembershipUser实例,
园子里的 李万宝 翻译的文章:
介绍ASP.NET Provider模型,来自国外,单击此处下载源代码
第一部分:http://mqingqing123.cnblogs.com/archive/2006/05/06/392613.html
第二部分:http://mqingqing123.cnblogs.com/archive/2006/05/06/392667.html
第三部分:http://mqingqing123.cnblogs.com/archive/2006/05/09/394714.html
还有Ryu666's IT乐园的ASP.NET2.0 Provider模型(上)——原理、模型与分析
uGoer 的Community Server专题八:MemberRole之Membership 和
Community Server专题八:MemberRole之Membership深入篇
继续风之语 的揪出ASP.NET 2.0四大“插件”的总后台 -- ASPNETDB
而Tony Qu 的aspnetdb.mdf数据字典 可以查看到几个相关的数据表.
ScottGu's ASP.NET 2.0 Membership, Roles, Forms Authentication, and Security Resources
2.编写Provider程序的三个关键问题:
(1)提供程序的生命期;
(2)线程安全性;
(3)原子性;
3.Asp.net 2.0中实现自定义的AccessMembershipProvider,基于Access数据库
(1)AccessMembershipProvider继承自,而System.Web.Security.MembershipProvider又是继承自System.Configuration.Provider.ProviderBase,ProviderBase是一个abstract类(与Asp.net 1.X的接口实现不同,如IDbConnetion、IDbCommand,在Asp.net 2.0中,选择了抽象类来代替接口,至于使用接口和抽象类那个比较好,可以看《.NET设计规范》一书中的“4.3 类和接口之间的选择”和李万宝 翻译的第二篇文章中找到);
ProviderBase的两个公共属性:
Description:描述;
Name:提供程序名称;
一个方法:
Initialize:用来从配置文件Web.config读取信息并初始化Provider; 在AccessMembershipProvider将会重写此方法。
再看MembershipProvider类,所有方法都是abstract类型的,都将在AccessMembershipProvider实现,具体方法和属性说明,可查看MSDN,这里就不重复了。
AccessMembershipProvider除了实现基本的方法和属性外,还根据实际应用,扩展了几个接口,例如存储更多的用户附加信息,从MembershipUser派生出一个扩展的AccessUser,当MemberShip.GetUser的标准API返回的是一个标准的MembershipUser实例,


浙公网安备 33010602011771号