首页 > 解决方案 > 检查用户是否在 .net Core 2.2 中通过 Windows 身份验证

问题描述

我开发了一个 .net core 2.2 MVC 应用程序,它允许匿名和 Windows 身份验证访问。我不想让用户登录他们的 Windows 帐户,但确实需要知道他们是否已经登录。

例如,我目前在我的浏览器中进行了身份验证。如果我转到未使用“[Authorize]”属性修饰的控制器方法,则 HttpContext.User.Identity.IsAuthenticated 为 false。如果我用“[Authorize]”属性装饰同一个控制器方法,它不会提示我输入我的凭据,并且我的身份信息填充在 HttpContext.User.Identity 属性中,并且该对象属性的“IsAuthenticated”为真.

如果它们经过身份验证但不触发登录弹出窗口(通过使用 ChallengeAsync 或使用“[Authorize]”属性装饰我的控制器),我如何获取填充有 Windows 用户详细信息的 HttpContext.User.Identity 属性,如果它们不是。

请善待 - 身份、身份验证、授权 - 这东西是我的氪石,我真的不明白为什么!:-) 谢谢!

标签: authenticationasp.net-coreasp.net-identity

解决方案


推荐阅读