membership制作登录界面遇到登录失败的解决办法

asp.net2.0引入了membership类,很大程度的方便了开发人员去实现角色和用户的管理,可是在使用中遇到两个个问题:
1, 每次在本地开发,发布后都是一切正常,可是传到空间上,用已有的用户名就是登录不成功,最后仔细看了一下provider类的ValidateUser方法,发现有个ApplicationName字段,他是你asp.net网站配置添加用户时自动加入的字段,它的值就是你所创建的网站的目录的名字,比如你的网站在web1文件夹下,那么添加用户后,该字段就是/web1,然而当你传到虚拟主机上后,在登录页面登录时,ApplicationName是 /,所有登录肯定失败,解决办法有二:在memeship的数据库里面把该管理员的ApplicationName字段改成/, 另外一种用vs2005sp1补丁,可以更改的虚拟目录为/,这样在本地添加用户后,该字段就是/ ,在scottgu的blog相关参考
2,用accessprovider添加用户 更改用户失败,这个问题在本地和虚拟主机都会出现,原因很简单,就是provider类的updatepw方法里面的字段没有加[],在access数据库中必须要用[]和预留字符串区分,字段加个[]问题解决。
原文地址:https://www.cnblogs.com/ddr888/p/601154.html