claims 相关问题

在.NET4.5中引入了声明,以System.Security.Claims命名空间中的ClaimsIdentity和ClaimsPrincipal的形式将基于声明的身份验证构建到框架中。

如何使用 Okta 转换 Spring Boot 应用程序以读取 okta 组

不久前,我创建了一个 Spring Book 应用程序,它使用 Okta 作为 OIDC 提供程序。它基于 Matt Raible 的这个优秀示例的先前版本。 我现在想做的是获得...

回答 1 投票 0

.Net core - 是否可以根据传入请求使用动态声明来实现自定义声明验证?

是否可以在.net core 3.1或.net 6中实现自定义ClaimsValidation?如果是,怎么办? 我们有通用的单一休息端点,可以根据...中提到的“报告名称”返回任何报告。

回答 0 投票 0

在 .net 6 blazor 应用程序中进行身份验证后,如何将自定义声明添加到 ClaimsPrincipal?

https://learn.microsoft.com/en-us/aspnet/core/security/authorization/claims?source=recommendations&view=aspnetcore-7.0 上面的文章很好地解释了如何利用

回答 2 投票 0

如何根据用户角色授予网站所有页面的访问权限?

我的要求是管理员用户可以授权其他用户访问站点中的页面数。 用户及其分配的页面存储在数据库中,格式如下。 Id UserId ClaimType 页面 1 ...

回答 0 投票 0

何时可以索赔

我在 GenerateUserIdentityAsync 方法中添加声明: 公共类 ApplicationUser : IdentityUser { 公共异步任务 GenerateUserIdentityAsync(UserManager 我在 GenerateUserIdentityAsync 方法中添加声明: public class ApplicationUser : IdentityUser { public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager) { var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie); userIdentity.AddClaim(new Claim(ClaimsStaticStrings.Inactivity, company.Inactivity.ToString())); return userIdentity; } } 然后我尝试在帐户/登录方法中获取它: [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public async Task<ActionResult> Login(LoginViewModel model, string returnUrl) { var result = await SignInManager.PasswordSignInAsync(model.Username, model.Password, model.RememberMe, shouldLockout: false); switch (result) { case SignInStatus.Success: int inactivity = Utils.GetInactivityFromIdentity(User.Identity); Response.Cookies.Add(new HttpCookie("inactivity", inactivity.ToString())); return RedirectToAction("Index", "Home"); } } public static int GetInactivityFromIdentity(IIdentity identity) { System.Security.Claims.ClaimsIdentity claims = (System.Security.Claims.ClaimsIdentity)identity; var claim = claims.FindFirst(Models.ClaimsStaticStrings.Inactivity); if (claim != null) { return int.Parse(claim.Value); } else throw new Exception("Inactivity is not set"); } 它抛出异常“Inactivity is not set”。变量 'claims' 只有一个声明 - name 但是当我从任何其他页面(重定向后)调用 GetInactivityFromIdentity 方法时 - 它工作正常(并且声明中充满了所有设置的声明)。为什么会这样? 声明被序列化到 auth-cookie 中。在您通过身份验证重新加载页面之前,不会设置 Cookie。在您尝试从 cookie 访问声明时,HTTP 请求中没有 cookie - SignInManager 只会在请求完成时设置 cookie,但不会在请求完成后立即设置。您确实需要一个重定向/页面重新加载周期来获取可用的 cookie 和声明。 您必须以某种方式获得inactivity价值,而不是通过声明,而是在您登录用户时从您的数据存储中获得。 无法访问登录用户声明的原因是登录过程中设计的事件顺序 - .Net 问题。 当您执行调用 SignInManager.SignIn() 时,事件顺序将带您完成项目的扩展类 ApplicationSignInManager,它派生自 SingInManager - 在其中您会发现一个名为 CreateUserIdentityAsync 的覆盖方法,它会被触发通过登录调用。 在这个方法中,用户身份声明被创建并返回(通过调用 GenerateUserIdentityAsync),只有在登录过程的后期才能访问它们。 这里的工作是在 ApplicationSignInManager 类中创建一个名为 AppUserClaims 的 ClaimsIdentity 类型的公共属性,并使用它来存储用户身份声明值,然后再将它们检索到登录流程。 public override Task<ClaimsIdentity> CreateUserIdentityAsync(ApplicationUser user) { var iClaims = user.GenerateUserIdentityAsync((ApplicationUserManager)UserManager); AppUserClaims = iClaims.Result; return iClaims; } 一旦你存储了这个属性的声明,回到登录方法内部,你就可以像下面这样访问它——记住声明值总是字符串类型: string YourX = SignInManager.AppUserClaims.FindFirst("YourX").Value;

回答 2 投票 0

WordPress 作者角色到期。这可能吗?

所以我想让我的 wordpress 用户声明并成为我的帖子或页面的作者角色,并根据他们的包裹设置时间限制。假设一个月,之后作者将成为管理员...

回答 0 投票 0

手动添加的授权角色不起作用

我创建了一个自定义的 IClaimsTransformation 类,它从配置文件中获取允许的组列表。如果用户在其中一个组中,则添加声明。我可以验证索赔是否得到

回答 1 投票 0

元素未显示在 UI 中:Azure AD B2C 自定义策略

我正在尝试自定义登录页面。 我的问题是以下问题。在登录页面中,我需要一个下拉菜单,以便用户可以选择首选的 MFA 方法。 但是,如您所见,那里...

回答 0 投票 0

AWS Cognito 和身份服务器在 C# 应用程序中缺少声明

将 AWS Cognito 与身份服务器一起使用我无法在 id_token 或 access_token(来自我的客户端应用程序)中获得完整声明。 我们需要获取的属性之一就是email,这个是

回答 0 投票 0

如何在维基数据中建立声明价值的超链接

我正在尝试在维基数据中创建一个脚本,该脚本为某些实体创建一个声明,该声明具有作为标识符的特定属性,并且作为该属性的值,我想放置一个外部标识符...

回答 0 投票 0

`ClaimsPrincipal.IsInRole`在索赔中期待什么?

我有一个叫做组的要求。当我设置我的TokenValidationParameters时,我将RoleClaimType设置为group。当声明通过时,group声明的值是这样的。"something,some...

回答 1 投票 0

在ASP.NET Core Web API中访问和使用UserClaims。

我是第一次使用ASP.NET Core Web API,对它很陌生。我已经添加了索赔,现在我想某种程度上 "读取 "并访问它们。谁能帮我解决这个问题?

回答 1 投票 0

Azure AD 自定义索赔为单独的属性值

我在AAD中使用一个扩展属性来存储一些自定义的索赔,我需要通过一个SSO Ent应用程序发送回ADFS。我需要这些索赔是单独的值(见截图)我的问题是...

回答 1 投票 0

在ASP Core ADB2C应用程序中缺少OID Claim。

我有一个工作的ASP.NET Core ADB2C应用程序,它使用自定义策略,并配置为验证本地(ADB2C)和谷歌帐户。我最近注意到OID声明不见了。

回答 1 投票 0

OpenID连接。如何在客户凭证流中添加自定义报销数据?

我正在与我的身份服务器建立一个客户端凭证流,以从客户端获取访问令牌。我可以用下面的代码来获取访问令牌,身份服务器配置:公 ...

回答 1 投票 1

作为服务提供商的ADFS

我在网上找到了很多关于如何配置ADFS作为服务提供商的信息,很多文档,但是,我在ADFS的配置界面看起来和我看到的截图完全不一样 ...

回答 1 投票 0

我应该如何处理Rest API中的权限

让我们说我有一个包含一组团队的API。连接到这些团队的是用户和其他资源,例如时间表。在数据库中,我们有两个用户。用户1是团队1和3的成员...

回答 1 投票 0

如何在控制器操作上创建属性以检查用户是否有声明

我已经向用户添加了一些自定义声明,我想知道是否要使用属性检查这些声明是否存在于控制器操作中,我知道我们可以创建一个类并扩展属性...

回答 2 投票 0

MVC SSO ADFS声明丢失

我正在为Umbraco(ADFS)实施SSO,登录并创建用户都可以正常工作。我唯一不知道的是,当我输出声明时,得到正确的用户名册(声明):string ....

回答 1 投票 0

如何将单位添加到Azure AD令牌

我需要阅读Azure广告用户的“部门”。我检查了资源https://docs.microsoft.com/zh-cn/azure/active-directory/develop/active-directory-optional-claims,但这无济于事,因为我可以...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.