相关疑难解决方法(0)

asp.net identity获取登录用户的所有角色

我创建了一个基于角色的菜单,我按照教程进行了操作.在该页面的某些位置,您将看到以下代码行:

String[] roles = Roles.GetRolesForUser();
Run Code Online (Sandbox Code Playgroud)

它返回当前登录用户的所有角色.我想知道如何使用新的ASP.NET身份系统实现这一目标?

它仍然是新的,没有太多可以找到它.

c# asp.net-mvc roles

57
推荐指数
4
解决办法
7万
查看次数

更新用户声明未生效.为什么?

我正在使用ASP.NET MVC 5.1与Owin和声明身份验证.

用户更改其电子邮件后,我需要更新用户声明,所以我尝试在控制器中:

  ClaimsIdentity identity = (ClaimsIdentity)User.Identity;
  Claim claim = identity.FindFirst(ClaimTypes.Email);
  identity.RemoveClaim(claim);
  identity.AddClaim(new Claim(ClaimTypes.Email, newEmail));

  IOwinContext context = new OwinContext();

  context.Authentication.SignOut(DefaultAuthenticationTypes.ExternalCookie);
  context.Authentication.SignIn(identity);
Run Code Online (Sandbox Code Playgroud)

索赔已更改,但当我刷新页面时,电子邮件声明再次原始...

似乎cookie没有更新.知道我做错了什么吗?

是否有可能从身份中获取"IsPersistent"的值,所以当我再次签名时,我将获得相同的值?

谢谢,

米格尔

asp.net-mvc asp.net-identity

18
推荐指数
2
解决办法
2万
查看次数

标签 统计

asp.net-mvc ×2

asp.net-identity ×1

c# ×1

roles ×1