Questions tagged «claims-based-identity»

6
向5岁的孩子介绍“基于声明的身份验证”
好吧,这不完全适合5岁的孩子,但是请避免使用流行语,如果可能的话,企业不要说话。 基于声明的身份验证现在似乎风行一时,但是我无法找到一个简单而扎实的解释,它实际上是什么,它与我们现在有什么不同(我假设“我们现在有什么”)成为基于角色的身份验证),使用它的好处是什么,等等。


7
反伪造令牌发行(MVC 5)
我在使用防伪令牌时遇到了问题:(我创建了自己的User类,该类工作正常,但是现在每当进入/ Account / Register页面时,都会出现错误。错误是: 类型为“ http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier ”或“ http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider ”的声明为在提供的ClaimsIdentity上不存在。要通过基于声明的身份验证启用防伪令牌支持,请验证配置的声明提供程序是否在其生成的ClaimsIdentity实例上同时提供了这两个声明。如果配置的声明提供程序改为使用其他声明类型作为唯一标识符,则可以通过设置静态属性AntiForgeryConfig.UniqueClaimTypeIdentifier对其进行配置。 我发现这篇文章: http://stack247.wordpress.com/2013/02/22/antiforgerytoken-a-claim-of-type-nameidentifier-or-identityprovider-was-not-present-on-provided-claimsidentity/ 所以我将Application_Start方法更改为: protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.Email; } 但是当我这样做的时候,我得到了这个错误: 提供的ClaimsIdentity上没有类型为http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress的声明。 有人遇到过吗?如果是这样,您知道如何解决吗? 提前 加油,r3plica 更新1 这是我的自定义用户类: public class Profile : User, IProfile { public Profile() : base() { this.LastLoginDate = DateTime.UtcNow; this.DateCreated = DateTime.UtcNow; } …

12
MVC 5访问声明身份用户数据
我正在使用Entity Framework 5 Database First方法开发MVC 5 Web应用程序。我正在使用OWIN进行用户身份验证。下面显示了我的帐户控制器中的登录方法。 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, …

4
ASP.NET Identity中角色与声明的最佳实践
我对claimsin 的使用是全新的,ASP.NETIdentity并且想了解使用in 的最佳实践Roles and/or Claims。 读完所有这些之后,我仍然有诸如...的问题。 问:我们不再使用角色吗? 问:如果可以,为什么仍提供角色? 问:我们应该只使用Claims吗? 问:我们应该一起使用“角色和声明”吗? 我最初的想法是我们“应该”一起使用它们。我将其Claims视为支持的子类别Roles。 例如: 角色:会计 索赔:CanUpdateLedger,CanOnlyReadLedger,CanDeleteFromLedger 问:它们是否打算互斥? 问:还是只提出索赔并“完全合格”您的索赔更好? 问:那么这里的最佳做法是什么? 示例:一起使用角色和声明 当然,您必须为此编写自己的属性逻辑... [Authorize(Roles="Accounting")] [ClaimAuthorize(Permission="CanUpdateLedger")] public ActionResult CreateAsset(Asset entity) { // Do stuff here return View(); } 示例:完全符合您的要求 [ClaimAuthorize(Permission="Accounting.Ledger.CanUpdate")] public ActionResult CreateAsset(Asset entity) { // Do stuff here return View(); }

4
名称标识符声明的目的是什么?
类型声明http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier应用于什么? 这是主要问题,这里还有其他问题。 与http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name索赔有何不同? 对特定用户而言,与名称声明相反,它是永久性的吗? 是全局范围还是IdP范围?

2
为什么我的ClaimsIdentity IsAuthenticated始终为false(对于Web api授权过滤器)?
在一个Web API项目中,我替代了常规的身份验证过程来检查令牌。代码看起来像这样: 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 = …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.