首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更换PC时,Azure AD网络解决方案中的无限循环/重定向简单ASP.NET

更换PC时,Azure AD网络解决方案中的无限循环/重定向简单ASP.NET
EN

Stack Overflow用户
提问于 2018-07-09 17:57:07
回答 1查看 417关注 0票数 0

我有一个非常简单的Azure Web解决方案(WebForms),它通过OWIN实现了ASP.NET AD身份验证的样板。在我的电脑上进行本地测试时,它工作得很好。我从我的Windows笔记本电脑上跳到床上,从Visual Studio Team Services (GIT)下载了解决方案,并在我的笔记本电脑上调试运行它。现在,当我尝试登录时,应用程序进入以下两个web请求的无限循环(一个POST,一个GET)。我不知道这是怎么回事。有人能帮上忙吗?这两个日志条目一次又一次地出现,直到我退出。

代码语言:javascript
复制
> Application Insights Telemetry (unconfigured):
> {"name":"Microsoft.ApplicationInsights.Dev.Request","time":"2018-07-09T09:44:50.8000358Z","tags":{"ai.internal.sdkVersion":"web:2.2.0-738","ai.operation.id":"q2LZmfksgJg=","ai.location.ip":"::1","ai.cloud.roleInstance":"DESKTOP-8S777RV","ai.operation.name":"POST
> /"},"data":{"baseType":"RequestData","baseData":{"ver":2,"id":"q2LZmfksgJg=","name":"POST
> /","duration":"00:00:00.0070000","success":true,"responseCode":"302","url":"https://localhost:44378/","properties":{"DeveloperMode":"true"}}}}
> 
> 
> Application Insights Telemetry (unconfigured):
> {"name":"Microsoft.ApplicationInsights.Dev.Request","time":"2018-07-09T09:44:50.8189012Z","tags":{"ai.internal.sdkVersion":"web:2.2.0-738","ai.operation.id":"tDssyCSeipU=","ai.location.ip":"::1","ai.cloud.roleInstance":"DESKTOP-8S777RV","ai.operation.name":"GET
> /ScratchPad.aspx"},"data":{"baseType":"RequestData","baseData":{"ver":2,"id":"tDssyCSeipU=","name":"GET
> /ScratchPad.aspx","duration":"00:00:00.0010000","success":true,"responseCode":"401","url":"http://localhost:63907/ScratchPad.aspx","properties":{"DeveloperMode":"true"}}}}

编辑:我是OWIN / Azure身份验证的初学者,但我做了一些工作,发现在我的Cookie AUthentication配置中添加CookieSecureOption.Never,例如更改

代码语言:javascript
复制
app.UseCookieAuthentication(new CookieAuthenticationOptions ());

代码语言:javascript
复制
app.UseCookieAuthentication(new CookieAuthenticationOptions { CookieSecure = CookieSecureOption.Never });

使站点在调试时可以正常登录。我知道这不是一个安全的选择,但我希望这能帮助别人理解这个问题。因为我一小时前在另一台PC上测试时不需要这个选项?

EN

回答 1

Stack Overflow用户

发布于 2018-07-28 00:27:10

OWIN/Katana有一个bug,会导致你的cookie消失。因此,您的解决方案将在90%的时间内工作,但在10%的时间内,它会陷入这些无限循环。重新部署应用程序可能会暂时修复它,但问题将持续存在。

解决这个问题的一种方法是使用Nuget包kentor.owincookiesaver。您应该在owin启动类中的cookieauthentication调用之前调用这个类,如下所示。

代码语言:javascript
复制
app.UseKentorOwinCookieSaver();

app.UseCookieAuthentication(new CookieAuthenticationOptions());

该错误记录在这里:https://github.com/aspnet/AspNetKatana/,解决方法记录在这里:https://github.com/Sustainsys/owin-cookie-saver

Nuget包已经被下载了177,000+次。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51242739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档