前面的一篇博客中已经提到了自定义注册界面的代码。今天再测试的时候有一个大发现,那就是今天创建的用户密码是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表关联起来的。