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

 

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

testCreateUsers.aspx页面中的如下代码

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

问题一:

虽然不知道这个是怎么回事,但是我在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表关联起来的。

你可能感兴趣的:(Provider)