ASP.NET2.0 - 验证Authentication(5) –自定义MembershipProvider

1.创建一个Class Library项目,让自定义CustomMemberShipProvider类继承于System.Web.Security.MembershipProvider类。

  1    public   class  CustomMemberShipProvider : MembershipProvider
  2      {
  3           private   bool  requiresQuestionAndAnswer;
  4           private   int  minRequiredPasswordLength;
  5 
  6           public   override   string  ApplicationName
  7          {
  8               get
  9              {
 10                   throw   new  Exception( " The method or operation is not implemented. " );
 11              }
 12               set
 13              {
 14                   throw   new  Exception( " The method or operation is not implemented. " );
 15              }
 16          }
 17           public   override   void  Initialize( string  name, System.Collections.Specialized.NameValueCollection config)
 18          {
 19 
 20               if  (config[ " requiresQuestionAndAnswer " ].ToLower()  ==   " true " )
 21                  requiresQuestionAndAnswer  =   true ;
 22               else
 23                  requiresQuestionAndAnswer  =   false ;
 24               int .TryParse(config[ " minPasswordLength " ],  out  minRequiredPasswordLength);
 25               base .Initialize(name, config);
 26          }
 27           public   override   bool  ChangePassword( string  username,  string  oldPassword,  string  newPassword)
 28          {
 29               return   true ;
 30          }
 31 
 32           public   override   bool  ChangePasswordQuestionAndAnswer( string  username,  string  password,  string  newPasswordQuestion,  string  newPasswordAnswer)
 33          {
 34               throw   new  Exception( " The method or operation is not implemented. " );
 35          }
 36 
 37           public   override  MembershipUser CreateUser( string  username,  string  password,  string  email,  string  passwordQuestion,  string  passwordAnswer,  bool  isApproved,  object  providerUserKey,  out  MembershipCreateStatus status)
 38          {
 39               throw   new  Exception( " The method or operation is not implemented. " );
 40          }
 41 
 42           public   override   bool  DeleteUser( string  username,  bool  deleteAllRelatedData)
 43          {
 44               throw   new  Exception( " The method or operation is not implemented. " );
 45          }
 46 
 47           public   override   bool  EnablePasswordReset
 48          {
 49               get  {  throw   new  Exception( " The method or operation is not implemented. " ); }
 50          }
 51 
 52           public   override   bool  EnablePasswordRetrieval
 53          {
 54               get  {  throw   new  Exception( " The method or operation is not implemented. " ); }
 55          }
 56 
 57           public   override  MembershipUserCollection FindUsersByEmail( string  emailToMatch,  int  pageIndex,  int  pageSize,  out   int  totalRecords)
 58          {
 59               throw   new  Exception( " The method or operation is not implemented. " );
 60          }
 61 
 62           public   override  MembershipUserCollection FindUsersByName( string  usernameToMatch,  int  pageIndex,  int  pageSize,  out   int  totalRecords)
 63          {
 64               throw   new  Exception( " The method or operation is not implemented. " );
 65          }
 66 
 67           public   override  MembershipUserCollection GetAllUsers( int  pageIndex,  int  pageSize,  out   int  totalRecords)
 68          {
 69               throw   new  Exception( " The method or operation is not implemented. " );
 70          }
 71 
 72           public   override   int  GetNumberOfUsersOnline()
 73          {
 74               throw   new  Exception( " The method or operation is not implemented. " );
 75          }
 76 
 77           public   override   string  GetPassword( string  username,  string  answer)
 78          {
 79               throw   new  Exception( " The method or operation is not implemented. " );
 80          }
 81 
 82           public   override  MembershipUser GetUser( string  username,  bool  userIsOnline)
 83          {
 84               return   null ;
 85          }
 86 
 87           public   override  MembershipUser GetUser( object  providerUserKey,  bool  userIsOnline)
 88          {
 89               throw   new  Exception( " The method or operation is not implemented. " );
 90          }
 91 
 92           public   override   string  GetUserNameByEmail( string  email)
 93          {
 94               throw   new  Exception( " The method or operation is not implemented. " );
 95          }
 96 
 97           public   override   int  MaxInvalidPasswordAttempts
 98          {
 99               get  {  throw   new  Exception( " The method or operation is not implemented. " ); }
100          }
101 
102           public   override   int  MinRequiredNonAlphanumericCharacters
103          {
104               get  {  return   0 ; }
105          }
106 
107           public   override   int  MinRequiredPasswordLength
108          {
109               get  {  return  minRequiredPasswordLength; }
110          }
111 
112           public   override   int  PasswordAttemptWindow
113          {
114               get  {  throw   new  Exception( " The method or operation is not implemented. " ); }
115          }
116 
117           public   override  MembershipPasswordFormat PasswordFormat
118          {
119               get  {  throw   new  Exception( " The method or operation is not implemented. " ); }
120          }
121 
122           public   override   string  PasswordStrengthRegularExpression
123          {
124               get  {  throw   new  Exception( " The method or operation is not implemented. " ); }
125          }
126 
127           public   override   bool  RequiresQuestionAndAnswer
128          {
129               get  {  return  requiresQuestionAndAnswer; }
130          }
131 
132           public   override   bool  RequiresUniqueEmail
133          {
134               get  {  throw   new  Exception( " The method or operation is not implemented. " ); }
135          }
136 
137           public   override   string  ResetPassword( string  username,  string  answer)
138          {
139               throw   new  Exception( " The method or operation is not implemented. " );
140          }
141 
142           public   override   bool  UnlockUser( string  userName)
143          {
144               throw   new  Exception( " The method or operation is not implemented. " );
145          }
146 
147           public   override   void  UpdateUser(MembershipUser user)
148          {
149               throw   new  Exception( " The method or operation is not implemented. " );
150          }
151 
152           public   override   bool  ValidateUser( string  username,  string  password)
153          {
154                return   true ;
155          }
156      }

 

2.Web Application项目中,配置Web config 文件。

 1     < authentication  mode ="Forms"   />
 2 
 3         < membership  defaultProvider ="CustomMemberShipProvider" >
 4           < providers >
 5             < clear />
 6             < add  name ="CustomMemberShipProvider"  
 7                 type ="DataAcess.MemberShip.CustomMemberShipProvider"  
 8                 connectionString ="XuConnectionString"
 9                 requiresQuestionAndAnswer ="true"   />
10           </ providers >
11         </ membership >

 

3.Login控件

创建default.aspx页面

 

http://www.asp.net/learn/videos/video-189.aspx 

转载于:https://www.cnblogs.com/xuxiaoguang/archive/2009/01/13/1375019.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值