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