Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.net成员身份验证在其他系统中不起作用_Asp.net_Asp.net Membership - Fatal编程技术网

ASP.net成员身份验证在其他系统中不起作用

ASP.net成员身份验证在其他系统中不起作用,asp.net,asp.net-membership,Asp.net,Asp.net Membership,我已通过aspnet数据库中的成员资格函数(“CreateUserRole”、“CreateMembershipUser”和“AssignUserToRole”)提供的函数创建了用户、角色并将角色分配给用户。用户、角色已成功创建。我也可以在我的系统中登录 相同的凭据我也需要在其他计算机中配置。因此,通过所有成员资格表中的脚本插入相同的用户/密码/Salt密码。它在其他计算机中不起作用。尽管在项目启动时数据已成功插入到其他计算机中。函数“ValidateUserCredentials”在其他计算机

我已通过aspnet数据库中的成员资格函数(“CreateUserRole”、“CreateMembershipUser”和“AssignUserToRole”)提供的函数创建了用户、角色并将角色分配给用户。用户、角色已成功创建。我也可以在我的系统中登录


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

如果您使用的是ASP.Net成员资格提供程序,则需要检查以下内容-

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

  • ApplicationName在两个数据库以及两个web.config文件中都是相同的

  • 密码格式散列的,在两个web.config中的成员资格标记中显式设置hashAlgorithmType,因为不同的成员资格提供程序使用不同的散列算法

  • 比如说,

    <membership defaultProvider="..." hashAlgorithmType="SHA1">
    
    
    
  • 经验法则是,您希望在两个web.config中都包含相同的机器密钥,即使密码格式散列的。(如果密码格式是加密的,则机器密钥是必需的,并且两个web.config文件中必须包含相同的机器密钥)

  • 当我们在不同的服务器上使用相同的用户凭据时,是否需要此机器密钥配置?如果密码格式存储为哈希格式,则不需要机器密钥(尽管建议使用)。