gpt4 book ai didi

c# - ASP.NET MVC 5 应用程序的 Microsoft 身份验证循环

转载 作者:行者123 更新时间:2023-12-03 02:58:59 25 4
gpt4 key购买 nike

我在 Azure 上部署了一个 ASP.NET MVC 5 Web 应用程序,该应用程序存在身份验证循环。

起初我发现这是一个 HTTP 问题,因此我从 Azure 强制使用 HTTPS。问题消失了,但是部署一段时间后又出现了。再次部署(相同版本)可以解决循环,该循环在一段时间后又会回来。会是什么?我应该寻找什么?

到目前为止,我已尝试在我的 Web.config 中包含以下内容

<add key="owin:AppStartup" value="false"></add>

这在我的 Startup.auth.cs 中:

public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
CookieSecure = CookieSecureOption.SameAsRequest,
});
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri
});
}

我通过指定使用组织帐户登录来创建 MVC 5 项目,并在部署配置文件中启用相同的功能:

Deploy settings

我不知道还能尝试什么,请帮忙。

最佳答案

这里也一样,我对此没有选择。您只是无法重现此问题以找到确切的原因。

这就是我同时所做的:

AuthStartup.cs:

app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
CookieSecure = CookieSecureOption.Never
});

Global.asax.cs

protected void Application_BeginRequest(object sender, EventArgs e)
{
if (!Request.IsSecureConnection)
Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"] +
httpContext.Current.Request.RawUrl);
}

覆盖授权属性:

public class AuthorizeFromHTTPAttribute: AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
if (!filterContext.HttpContext.Request.IsSecureConnection)
{
UriBuilder redirectUrl = new UriBuilder(
filterContext.HttpContext.Request.Url);
redirectUrl.Scheme = "HTTPS";
redirectUrl.Port = 443;
filterContext.HttpContext.Response.Redirect(redirectUrl.ToString());
return;
}
else
{
base.OnAuthorization(filterContext);
}
}
}

从 Visual Studio 到 Azure 的新发布在一定时期内解决了这个问题。那么这是服务器端的东西吗??

使用 InPrivate 或 InCongnito 也无法解决此问题。要么清理你的cookie...

关于c# - ASP.NET MVC 5 应用程序的 Microsoft 身份验证循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50860357/

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