23
我在我的应用程序中使用了OWIN身份验证。在MVC中访问控制器中的声明值5
登录行动
var claims = new List<Claim>();
claims.Add(new Claim(ClaimTypes.Name, result.UserFirstName));
claims.Add(new Claim(ClaimTypes.Sid, result.UserID.ToString()));
var identity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);
我想从不同的动作访问用户名和用户ID。我如何访问权利要求中添加的值?
更新 我已经试过
var claims = new List<Claim>();
claims.Add(new Claim(ClaimTypes.Name, result.UserFirstName + " " + result.UserLastName));
claims.Add(new Claim(ClaimTypes.Sid, result.UserIDNumber.ToString()));
var identity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);
var authenticationManager = Request.GetOwinContext().Authentication;
authenticationManager.SignIn(identity);
var claimsPrincipal = new ClaimsPrincipal(identity);
Thread.CurrentPrincipal = claimsPrincipal;
我可以查看快速窗口内的值。但即使我无法访问价值。如何获得价值?
我仍然没有得到答案。你能否检查上述问题中的更新?我已经描述了这个问题。 – Golda
@Golda嗨,开放调试窗口应该看看索赔中的内容,你可以打开这个窗口吗? – hutchonoid
@戈尔达挂上,得到它给我2分钟更新问题。 – hutchonoid