Authentication 验证用户/请求是否已通过.net核心的身份验证

Authentication 验证用户/请求是否已通过.net核心的身份验证,authentication,asp.net-core,asp.net-core-mvc,Authentication,Asp.net Core,Asp.net Core Mvc,我在.net核心应用程序中实现了cookie身份验证和新颖的ldap身份验证。 我有一个登录屏幕,用户在其中输入他们的凭据,一旦验证,它就会将他们重定向到主页。在我的登录布局页面上,我想有一个注销链接,用于将用户注销出应用程序。在早期的.net mvc应用程序中,我可以做: @if (Request.IsAuthenticated) { <li><a href="#">Hello, @ViewData["FullName"] !</a></li

我在.net核心应用程序中实现了cookie身份验证和新颖的ldap身份验证。 我有一个登录屏幕,用户在其中输入他们的凭据,一旦验证,它就会将他们重定向到主页。在我的登录布局页面上,我想有一个注销链接,用于将用户注销出应用程序。在早期的.net mvc应用程序中,我可以做:

 @if (Request.IsAuthenticated)
 {
   <li><a href="#">Hello, @ViewData["FullName"] !</a></li>
   <li><a href="@Url.Action("Logout", "Account")">Log Out</a></li>
 }
 else
 {
   <li><a href="@Url.Action("Login", "Account")">Log In</a></li>
 }
@if(Request.IsAuthenticated)
{
  • } 其他的 {
  • }
    我所有的身份验证、重定向等都可以正常工作,但与Request.IsAuthenticated在.net core中有何等效,或者如何检查用户是否经过身份验证并相应地显示链接等


    如果您能提供意见,我将不胜感激。我想您需要的是

    User.Identity.IsAuthenticated
    

    svek上面分享的内容应该有效。调试以查看您的身份验证是否正确,您正在设置cookie

    特别是对于.NETCore,这应该是可行的

     @if (User.Identity.IsAuthenticated)
     {
       <a asp-area="" asp-controller="YouController" asp-action="YourAction">Logout</a>
     }
    
    @if(User.Identity.IsAuthenticated)
    {
    注销
    }
    
    这不起作用。不会抛出任何错误,但不会显示注销链接。这在用户经过身份验证后生效,这使得它非常无用。当您的令牌缓存具有有效令牌时,它会错误地告诉您未经身份验证。