【发布时间】:2011-08-13 11:29:15
【问题描述】:
我正在处理 Razor 项目,需要将现有的用户数据库集成到 SimpleMembership 提供程序数据库架构中。这是通过指定我现有的用户表以及 SimpleMembership API 将哪些列用于用户名和用户 ID 来完成的。
WebSecurity.InitializeDatabaseConnection("DB_ConnStr", "User", "UserId", "Username", true);
不过,在此过程中,我正在为现有数据库中的每个用户行填充一条新记录的 pages_Membership 表。这很好,我已经编写了一些代码来处理每个现有用户的插入。
在插入过程中,为了简单起见,我使用了一个虚拟的加密密码令牌,并将密码设置为每个人都相同。然后我需要在记录上运行另一个脚本来为 pages_Membership 表中的每个用户设置正确的密码。这涉及从现有的用户表中解密当前密码,然后调用:
WebSecurity.ChangePassword( username, dummyPwd, newPwd)
在每个用户上,将解密的当前密码作为“newPwd”参数传递。
这在 99% 的调用情况下都能正常工作 - 超过 100,000 条记录。但它在大约 40 个案例中失败了。
什么原因会导致此方法失败?
【问题讨论】:
标签: membership-provider webmatrix razor