且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Membership.CreateUser方法与web.config中的membership defaultProvider相关联

更新时间:2022-09-21 17:43:29

  前面的一篇博客中已经提到了自定义注册界面的代码。今天再测试的时候有一个大发现,那就是今天创建的用户密码是md5格式的,这就说明了我web.config中修改了默认的membership defaultProvider为MySQLMembershipProvider以后起到了作用,

testCreateUsers.aspx页面中的如下代码

  1. MembershipUser newUser = Membership.CreateUser(UsernameTextbox.Text, PasswordTextbox.Text,   
  2.                                                    EmailTextbox.Text, passwordQuestion,  
  3.                                                    passwordAnswer, trueout status);  

实际上调用的是我自定义的我MySQLMembershipProvider中的

  1. public override MembershipUser CreateUser(string username,  
  2.                                                         string password,  
  3.                                                         string email,  
  4.                                                         string passwordQuestion,  
  5.                                                         string passwordAnswer,  
  6.                                                         bool isApproved,  
  7.                                                         object providerUserKey,  
  8.                                                         out    MembershipCreateStatus status)  

问题一:

虽然不知道这个是怎么回事,但是我在testCreateUsers.aspx连MySQLMembershipProvider都没有添加,也不知道他是如何找到的。

问题二:

这个问题上一篇博客中已经提到,就是Users表中没有添加用户信息。

问题三:

这个已经得到解决,将错误解决过程作一下记录

原本以为要使用MySQLMembershipProvider中的方法,所以自己先定义了一个MySQLMembershipProvider的对象 MSMP,然后通过该对象调用所以其他方法,比如在testCreateUsers.aspx中的RequiresQuestionAndAnswer和CreateUser()方法,但是使用这个方法如果RequiresQuestionAndAnswer为false的话会报如下错误:

The password retrieval answer provided is invalid. Please check the value and try again

当我将RequiresQuestionAndAnswer改为true以后可以将用户信息写入数据库,但是还是会报错,后来就是上面的提到的情况了,我原封不动,一点不修改,没想到这个createUser会关联web.config中membership defaultProvider,他自动将我加密方式变为md5方式,而且写入数据库正确,没有报错。

待解决的事情

Users表式如何与Aspnet_Users和Aspnet_membership表关联起来的。






本文转自xwdreamer博客园博客,原文链接:http://www.cnblogs.com/xwdreamer/archive/2010/01/10/2297171.html,如需转载请自行联系原作者