gpt4 book ai didi

c# - 如何使用 OWIN 身份验证获取登录用户?

转载 作者:行者123 更新时间:2023-11-30 23:01:37 25 4
gpt4 key购买 nike

我的AccountController中的登录码

var claims = new List<Claim>();  
claims.Add(new Claim(ClaimTypes.Name, user.Name+" "+user.Surname));
claims.Add(new Claim(ClaimTypes.Role, role.Code));
var claimIdenties = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);
var ctx = Request.GetOwinContext();
var authenticationManager = ctx.Authentication;
authenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = false }, claimIdenties);

在我的 PrivateController 中,我想访问经过身份验证的用户的 ID,我正在搜索 ID 字段或类似的东西,但是

enter image description here

如何通过 OWIN 身份验证获取登录用户?

编辑

Request.GetOwinContext().Authentication.User.Identity

使我能够访问以下属性:

  • 身份验证类型
  • 已通过身份验证
  • 姓名//Claim.Name

如何设置像“Claim.ID”这样的 ID 并检索它?

第二次编辑

此帖https://stackoverflow.com/a/24893167/4470880解决了我的问题。

最佳答案

试试这个替代方案:

var user = HttpContext.GetOwinContext().Authentication.User;

获取“用户”的名称:
string name = HttpContext.GetOwinContext().Authentication.User.Identity.Name;

关于c# - 如何使用 OWIN 身份验证获取登录用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50946339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com