这个问题对你们大多数人来说可能很奇怪,但这是一个非常简单的问题。我有越来越少的 10 个应用程序需要 SSO 解决方案。我们使用 machinekey 成功地完成了所有事情,但现在需要创建一个中央登录应用程序(基本上包含登录表单和密码检索框),这是用户尝试进入其中一个应用程序而不先进行身份验证的登录页面。
问题是,如果我将绝对 loginurl 放在应用程序的 web.config 中(例如,我将 http://login.myapp.com/ 代替 ~/login.aspx ),我将成功重定向,但传递的 ReturnUrl 不是绝对的,而是相对的,并且所以我无法回到“调用”应用程序。
知道如何解决这个问题吗?
谢谢, 马可
最佳答案
在您的 web.config 中尝试设置 enableCrossAppRedirects属性为真;
<configuration>
<system.web>
<authentication mode="Forms">
<forms .... enableCrossAppRedirects = "true" ....>
</forms>
</authentication>
</system.web>
</configuration>
这确实让您可以重定向攻击,但是......
关于c# - 具有一个登录应用程序的 asp.net 4.0 应用程序的单点登录 (SSO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7178276/