可能我们Membership的用户数据库是从其它系统导入的,例如动网论坛,那么用户系统用的加密方式和membership不一样的,也就是使用Membership就无法登录了,我曾试通通过继承Membership重写其中方法来实现,但是发现很多方法都无法override,这点Membership设计太失败了!

还好微软发布了Provider实现的源码《asp.net2.0自带的Provider源码下载》,这样我就可以通过修改Provider来实现了,SQLMembershipProvider中有一个CheckPassword方法,在里面,增加了对其他用户密码加密的支持,然后在web.config中,指定membership的provider为您修改后的Provider