表单认证在开发服务器上工作,但在生产服务器上不工作(相同的SQL数据库)。

 2023-02-17    375  

问题描述

我以前从未遇到过这个问题,我总损失了.

我有一个SQL Server 2008数据库,其ASP.NET形式的身份验证,配置文件和角色创建并在开发工作站上起作用.我可以使用创建的用户登录而没有问题.

表单认证在开发服务器上工作,但在生产服务器上不工作(相同的SQL数据库)。

我在开发计算机上备份数据库,并在生产服务器上还原它.我将DLL和ASP.NET文件XCOPY XCOPY到服务器.我在web.config中进行了必要的更改,更改SQL连接字符串以指向生产服务器数据库并上传.

我确保生成一个机器密钥,并且在开发web.config和Production web.config中都相同.

但是,当我尝试在生产服务器上登录时,我能够在开发计算机上成功登录的用户会在生产服务器上失败.

数据库中还有其他内容,即通过fluentnhibernate生成的模式.该内容能够在开发服务器和生产服务器上成功查询.

这很令人震惊,我相信我已经验证了所有内容,但是显然它仍然没有起作用,我一定错过了一些东西.拜托,有什么想法吗?

推荐答案

我通过忘记在会员资格提供者元素下的web.config中设置应用程序名称属性时遇到了一个类似症状的问题.

<membership defaultProvider="SqlProvider">
    <providers>
      <clear />
      <add
        name="SqlProvider"
        applicationName="MyApplication"
        ...
        />
    </providers>
  </membership>

用户与特定应用程序关联.由于我没有设置应用程序名称,因此默认为应用程序路径(类似于”/myApplication”).当它转移到生产时,路径会更改(例如”/网站文件/somesubfolder/myapplication”),因此默认的应用程序名称默认为新的生产路径,并且无法与设置的原始用户帐户建立关联在开发中.

您的问题可能与我的问题相同吗?

以上所述是小编给大家介绍的表单认证在开发服务器上工作,但在生产服务器上不工作(相同的SQL数据库)。,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34113.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。