我正在努力将 DotNet 4.5 MVC/WebAPI 应用程序转换为 AspNetCore 2.0,但在让 Cookie 身份验证再次工作时遇到一些问题。当我设置 cookie 并尝试访问安全方法时,我无法到达那里。当我进入匿名方法并检查用户对象时,它是空的 - 没有身份验证类型,没有声明等。
我已尽我所能地关注这篇文章:https://learn.microsoft.com/en-us/aspnet/core/security/authentication/cookie?tabs=aspnetcore2x https://learn.microsoft.com/en-us/aspnet/core/security/authentication/cookie?tabs=aspnetcore2x。我没有使用身份。
我在startup.cs中的ConfigureServices代码如下:
services.AddAuthentication("ACE_AUTH")
.AddCookie("ACE_AUTH", options =>
{
options.AccessDeniedPath = "/Home/Index/";
options.LoginPath = "/Home/Index/";
});
我在配置方法中的代码:
app.UseAuthentication();
调用此函数时,主体已完全填充。我在哪里设置 cookie:
await HttpContext.SignInAsync("ACE_AUTH", samlData.Principal);
我尝试过的任何操作都没有导致我的声明在尝试对用户进行身份验证时出现。
对于不阅读评论的人(几乎我自己都读过):
Joey:“对我来说解决这个问题的方法是将 app.UseAuthentication 移到 app.UseMvc 之上。文档中确实说了这一点,但它被隐藏得很好。”
...这有效...为什么当您事后执行此操作时它不会抛出异常,这在我身后。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)