我稍微更改了Integrating Azure AD into an ASP.NET Core web app sample中的代码。我可以成功运行该应用程序,并且如果单击“登录”链接,则我会正确重定向到Azure AD登录页面。AutomaticChallenge不适用于ASP.NET MVC Core中的CookieAuthentication和Azure AD示例
但是,如果我尝试访问受Authorize
属性保护的路由,我也希望应用程序自动将我重定向到登录页面。我已将[Authorize]
属性添加到HomeController
的Contact
操作中,但如果我尝试在未登录的情况下访问此属性,我不会将其重定向到登录页面。如果我在登录时访问联系页面,则显示正确。
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AutomaticAuthenticate = true,
AutomaticChallenge = true,
LoginPath = "/Account/Login"
});
但即使有这些变化,我不重定向到登录页面:
如下我已经更新了Startup.cs
文件。还有什么我失踪?
我在我身边做一个测试,示例工作正常,如果我添加[Authorize]属性到控制器动作,然后调用这个动作没有登录,它会重定向到登录页面。您修改了示例代码,您是否可以将您的代码与您的代码分享给我们,以便重现问题? –
您也没有提及在未登录时执行联系动作时实际发生的情况。您只是说您没有重定向到登录页面。请张贴你所有的mods以及你所看到的错误或行为。谢谢! –
感谢您的帮助。我找到了答案并注意到了它。仅供参考,当我遇到问题时,它表现为页面空白,浏览器在地址栏中显示/ Home/Contact URL。此外,F12工具显示该页面正在获得401未经授权的响应代码。但是如下所述,这似乎是Microsoft.AspNetCore.Authentication.Cookies软件包1.1.0版本中的一个更改。 – John