【发布时间】:2011-11-23 09:25:37
【问题描述】:
在运行 IIS 6 的 Windows Server 2003 机器上,我在其自己的网站 (http://authorize.com) 上有一个 ASP.NET 4.0 Web 应用程序,该应用程序具有 Login.aspx 页面。当按下登录按钮时,它会通过以下方式对用户进行身份验证:
FormsAuthentication.SetAuthCookie("spud", False)
Response.Redirect("http://legacy.com/Default.aspx")
在 authorize.com 的 web.config 中,我的身份验证配置如下:
<authentication mode="Forms">
<forms loginUrl="Login.aspx"
timeout="5000000"
ticketCompatibilityMode="Framework20"
protection="Validation">
</authentication>
<authorization>
<deny users="?"/>
</authorization>
<machineKey decryptionKey="AF96F355CEC57EFD2F996515BF465166075E596F19EB9B47"
validationKey="5C9D7A8F3E336278F771C7FE45B65BF6E9B41BA9575F04672CCC4242B225DD399FAF7B806B2CD5545200CD0E63A8991CA6BFB2D77FE9C5B0D69889359574C5F3"
validation="SHA1"
decryption="3DES"/>
我在另一个网站 (http://legacy.com) 上也有一个 ASP.NET 3.5 Web 应用程序。
它的 web.config 为:
当前发生的情况是,当您访问 http://legacy.com/Default.aspx 时,它会将您重定向到 http://authorize.com/Login.aspx strong> 然后当您单击登录按钮时,它会将您带回到 Login.aspx 页面,就好像您没有经过身份验证一样。
如何配置我的站点,以便 ASP.NET 3.5 站点可以共享 ASP.NET 4.0 站点的身份验证令牌?
编辑:我必须在所有 web.config 的表单标签中显式添加 protection="Validation" 以使 ASPXAUTH cookie 的长度相同。
【问题讨论】:
标签: asp.net