加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘南站长网 (https://www.0941zz.com/)- 科技、行业物联网、开发、云计算、云管理!
当前位置: 首页 > 编程开发 > asp.Net > 正文

User.Identity始终为null

发布时间:2023-02-17 09:05:25 所属栏目:asp.Net 来源:互联网
导读:如何解决User.Identity始终为null? 我需要检查用户是否已登录。在View中,我正在像这样检查它; @if (User.Identity.IsAuthenticated) { //links... } else { //links... } 尽管我在登录功能中登录了SignInAsync,但始终返回false,并且身份为空。我试图更

          {
              endpoints.MapControllerRoute(
                  name: "default",pattern: "{controller=Home}/{action=Index}");
          });
      }
  登录:
 
   [HttpPost("/login")]
      public async Task<IActionResult> Login(LoginModel model)
      {
          if (!ModelState.IsValid)
              return View(model);
          var myContent = JsonConvert.SerializeObject(model);
          var stringContent = new StringContent(myContent,System.Text.Encoding.UTF8,MediaTypeNames.Application.Json);
          using (var postTask = await ApiHelper.apiclient.PostAsync("Auth/Login",stringContent))
          {
              string jwt = await postTask.Content.ReadAsstringAsync();
              var handler = new JwtSecurityTokenHandler();
              var token = handler.ReadJwtToken(JwtExtension.CorrectJwtFormat(jwt));
              var claims = token.Payload.Claims.ToList();
              var claimsIdentity = new ClaimsIdentity(
                  claims,CookieAuthenticationDefaults.AuthenticationScheme);
              var authProperties = new AuthenticationProperties()
              {
                  AllowRefresh = true,ExpiresUtc = DateTimeOffset.Now.AddMonths(1),IsPersistent = true
              };
              await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme,new ClaimsPrincipal(claimsIdentity),authProperties);
              return RedirectToAction("index","home");
          }
      }
  API运作良好,给我带来了7条声明,而且ClaimsIdentity也包含它们。并重定向到索引。我做错了什么我只是不知道。 补充:另外我不能使用Authorize属性。因此,任何地方都没有授权。

(编辑:甘南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读