【问题标题】:forms authentication in Subdomain override authentication in Main domain子域中的表单身份验证覆盖主域中的身份验证
【发布时间】:2013-12-06 01:02:12
【问题描述】:

我是 ASP.NET 的新手。我有一个关于表单身份验证的问题,我有一个带有表单身份验证的 Web 应用程序 (HPE),它已经部署到 IIS 中,

Web 服务器中有一个 Eligibility 网站,它是用经典的 ASP 开发的,它使用表单身份验证。该主网站链接到 Web 应用程序,如 HPE、CHDP、BCCDP 等。当我单击 HPE 链接时,我将重定向到 HPE 应用程序,我将 HPE 票证超时设置为 20 分钟(与主站点相同)。

当我在 HPE 停留超过 20 分钟(做一些事情以保持 HPE 票证有效)时,我单击侧栏 CHDP 链接(指向 CHDP 应用程序),它将直接进入超时页面而不是 CHDP 应用程序。当我在 HPE 应用程序中停留 20 分钟时,有什么方法可以转到主站点的其他页面?

以下是 web.config 中 HPE 的身份验证部分

<system.web>
    <authentication mode="Forms">
        <forms name=".HPEAUTH" loginUrl="Logout.aspx?go=login" timeout="20" defaultUrl="/Eligibility/Cookiemonster.asp" requireSSL="false" protection="All" path="/" slidingExpiration="true"/>
    </authentication>
    <authorization>
        <deny users="?"/>
    </authorization>
</system.web>

抱歉,我没有在 Eligibility(主站点)目录中找到任何 web.config 文件。任何想法或尽管将不胜感激。

【问题讨论】:

    标签: asp.net forms authentication


    【解决方案1】:

    要在多个应用程序中使用相同的身份验证 cookie,您必须确保您的 web.config 文件的 machineKey 部分在所有应用程序上设置为相同的内容。

    来自MSDN

    以下示例显示了 Web.config 的身份验证部分 文件。除非另有说明,否则名称、保护、路径、 validationKey、validation、decryptionKey 和解密属性 在所有应用程序中必须相同。同样,加密 和验证密钥值以及加密方案和验证 用于身份验证票证(cookie 数据)的方案必须相同。 如果设置不匹配,则无法共享身份验证票。 有关如何为 validationKey 和 decryptionKey 属性,请参阅如何:在 ASP.NET 中配置 MachineKey 2.0。 (本主题适用于 ASP.NET 2.0 版及更高版本。)

    <configuration>
      <system.web>
        <authentication mode="Forms" >
          <!-- The name, protection, and path attributes must match 
               exactly in each Web.config file. -->
          <forms loginUrl="login.aspx"
            name=".ASPXFORMSAUTH" 
            protection="All"  
            path="/" 
            domain="contoso.com" 
            timeout="30" />
        </authentication>
    
        <!-- Validation and decryption keys must exactly match and cannot
             be set to "AutoGenerate". The validation and decryption
             algorithms must also be the same. -->
        <machineKey
          validationKey="C50B3C89CB21F4F1422FF158A5B42D0E8DB8CB5CDA1742572A487D9401E3400267682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE" 
          decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F" 
          validation="SHA1" />
      </system.web>
    </configuration>
    

    【讨论】:

      猜你喜欢
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多