gpt4 book ai didi

c# - MVC4/IIS/Forms 身份验证 SSO 问题

转载 作者:可可西里 更新时间:2023-11-01 08:29:35 25 4
gpt4 key购买 nike

我在使用 MVC4/IIS/Forms 身份验证时遇到了一个奇怪的间歇性问题。

我有两个站点,它们使用 SSO 将控制权传递给彼此。大多数情况下,切换会正确进行,并且用户会按预期重定向到下一个站点。但是,在某些情况下,即使发送了有效的 SSO 信息,也会要求用户重新登录。 SSO 方法用 [AllowAnonymous] 属性修饰,web.config 也有一个位置条目授予对 /account 的访问权限/sso 给所有用户。

它似乎是在第一次访问目标站点时发生的 - 一旦应用程序池预热,问题就会消失。

其他几点:

1 这两个站点都是 .net 4,因此不应该有任何遗留加密问题。
2. 这个问题很少发生(<10% 的时间)所以代码本身应该是正确的
3. 在本地 win7x64 上托管 IIS 7.5,而 azure - 在两个地方都发生
4. 似乎与浏览器无关

<location path="account/sso">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>

[Authorize]
public class AccountController : BaseControllerTestable
{
public AccountController()
: base()
{
}

[AllowAnonymous]
public ActionResult SSO(string AuthToken, string Target)
{
//SSO logic here

}
}

有什么想法吗?

最佳答案

您的 Controller 类上有一个 Authorize 属性,这意味着您的 SSO 方法将应用 AllowAnonymous 和 Authorize。在这种情况下,Authorize 属性看起来需要删除。

关于c# - MVC4/IIS/Forms 身份验证 SSO 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15946787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com