ASP.net成员资格验证在其他系统中无效

时间:2014-12-24 12:01:34

标签: asp.net asp.net-membership

我已经通过aspnet数据库中的Membership功能(“CreateUserRole”,“CreateMembershipUser”和“AssignUserToRole”)提供的功能创建了User,Roles并为用户分配了角色。用户,角色创建成功。我能够在我的系统中登录。

相同的凭据我也需要在其他机器中配置。所以在所有成员资格表中通过脚本插入相同的用户/密码/盐密码。它在其他机器中不起作用。尽管数据已成功插入到其他机器中项目的启动。功能“ValidateUserCredentials”在其他机器上发出错误。第一次生成时是否有设置密码和盐密码的设置?

1 个答案:

答案 0 :(得分:0)

如果您使用 ASP.Net会员提供商,则需要检查以下内容 -

  1. 两个web.config文件都相同(连接字符串除外)。

  2. ApplicationName 在两个数据库以及两个web.config文件中都相同。

  3. 密码格式 哈希,在web.config中的成员身份标记中明确设置 hashAlgorithmType ,因为不同的成员资格提供者使用不同的散列算法。

  4. 例如,

    <membership defaultProvider="..." hashAlgorithmType="SHA1">
    
    1. 经验法则是您希望在web.config中包含相同的机器密钥,即使密码格式哈希也是如此。 (如果密码格式为加密,则必须使用机器密钥,并且必须在两个web.config文件中包含相同的计算机密钥)