Tag: 基于声明的身份

为什么我的ClaimsIdentity总是被authentication为false(对于web api授权filter)?

在Web API项目中,我重写了正常的身份validation过程来检查令牌。 代码看起来像这样: if ( true ) // validate the token or whatever here { var claims = new List<Claim>(); claims.Add( new Claim( ClaimTypes.Name, "MyUser" ) ); claims.Add( new Claim( ClaimTypes.NameIdentifier, "MyUserID" ) ); claims.Add( new Claim( ClaimTypes.Role, "MyRole" ) ); var claimsIdentity = new ClaimsIdentity( claims ); var principal = new ClaimsPrincipal( new[] { […]

nameidentifier索赔的目的是什么?

应该使用http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifiertypes的声明吗? 这是主要的问题,这里还有其他的。 它与http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name声明有什么不同? 对于特定的用户来说,它是永久的,而不是名称索赔? 它是全球范围还是IdP范围?

MVC 5访问声明标识用户数据

我正在开发一个MVC 5 Web应用程序使用entity framework5数据库优先的方法。 我正在使用OWIN进行用户身份validation。 下面显示我的帐户控制器中的我的login方法。 public ActionResult Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { var user = _AccountService.VerifyPassword(model.UserName, model.Password, false); if (user != null) { var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, model.UserName), }, DefaultAuthenticationTypes.ApplicationCookie, ClaimTypes.Name, ClaimTypes.Role); identity.AddClaim(new Claim(ClaimTypes.Role, "guest")); identity.AddClaim(new Claim(ClaimTypes.GivenName, "A Person")); identity.AddClaim(new Claim(ClaimTypes.Sid, user.userID)); //OK to store userID here? […]