- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个自定义主体类
public class FacebookPrincipal : ClaimsPrincipal
{
public JObject Data { get; set; }
}
我想使用它。当用户登录时,我尝试设置
var fbP = new FacebookPrincipal { Data = user.Data };
Thread.CurrentPrincipal = fbP;
AuthenticationManager.User = fbP;
HttpContext.User = fbP;
它在我设置后立即工作,但是当我去 home/index
时,值丢失了
var user = HttpContext.GetOwinContext().Authentication.User;
var bbbb = this.User;
var cccc = ClaimsPrincipal.Current;
所有上述方法都返回 ClaimsPrincipal
类型的 Principal,转换为 FacebookPrincipal
返回 null。
如何设置自定义委托(delegate)人?
最佳答案
ASP.NET Identity 在将 ClaimsIdentity
分配给 User 和 Thread 之前使用默认的 ClaimsIdentityFactory
创建。您应该创建自己的 ClaimsIdentityFactory
,您可以在其中添加或管理其他信息。
UserManager<IdentityUser> userManager
= new UserManager<IdentityUser>(new UserStore<IdentityUser>());
userManager.ClaimsIdentityFactory
= new MyClaimsIdentityFactory<IdentityUser>();
以及以下代码,用于为 ClaimsIdentity 或其子类创建实现。
public class MyClaimsIdentityFactory<IUser> : ClaimsIdentityFactory<IUser> where IUser : IdentityUser
{
public MyClaimsIdentityFactory(): base()
{
}
public override System.Threading.Tasks.Task<System.Security.Claims.ClaimsIdentity> CreateAsync(UserManager<IUser> manager, IUser user, string authenticationType)
{
// Override Creation of ClaimsIdentity and return it.
}
}
base.CreateAsync
并将 Claims
合并到您创建的 ClaimsIdentity
。关于c# - 如何在 MVC 5 中设置自定义 ClaimsPrincipal?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19763807/
我在更改 dotnetcore 身份中的角色时遇到了一些问题。 我有以下代码。 private async Task SetRoleToX(ClaimsPrincipal claimsPrincipa
我看到很多像下面这样的代码来创建一个新的 ClaimsIdentity 和 ClaimsPrincipal var claims = new List() { new Claim(ClaimTypes
我们将 IdentityServer4 用于 IdentityServer,将 IdentityServer3 用于客户端 (ASP.NET MVC 5)。 一切正常(用户/Claimsprincip
我将 Adal 与 Azure Active Directory 结合使用,我需要通过自定义 OwinMiddleware 添加额外声明。当我向该委托(delegate)人添加声明时,我可以在当前请求
我正在尝试对从 ClaimsPrincipal.Current 获取信息的 Controller 代码进行单元测试。在 Controller 代码中我 public class HomeControl
我正在制作一个开发人员工具,用于模拟内联网站点的角色,以允许开发人员根据需要快速充当任何角色。定义的角色是 Developer、Team Lead、Team Member、Engineering、Ma
我正在对我的 Controller 方法对来自 ClaimsPrincipal 对象的信息进行单元测试,但是 Current.FindFirst() 没有返回任何内容,有人可以帮忙吗?谢谢。 (也可以
我正在使用 Azure AD 身份验证的 Azure 函数。在 Azure 上部署时一切正常。 public static async Task ExportT( [HttpT
在 ASP.NET Core Controller 中,我可以访问 User获取所有当前用户声明为 ClaimsPrincipal .现在我使用 userManager.CreateAsync 添加了
如果我直接进入它,我已经构建了一个 RESTful 服务 (WebAPI V2) 和 basic authentication...按预期工作,但我非常不确定如何从 ClaimsPrincipal 检
我正在使用 Azure 事件目录身份验证来提取用户信息。 我可以使用 ClaimsPrincipal.Current 获取用户详细信息。是否有任何选项可以使用此获取 Reporting Manage
我有一个在 ASP.Net MVC 中构建的 HR Web 应用程序,分为多个区域,例如经理、员工。这些区域代表系统中能够执行不同任务的不同类型的用户。涉及遗留数据库,每种用户类型的信息存储在不同的表
我目前正在使用以下方法实现联合身份验证解决方案:用于颁发 token 的被动 STS、托管 Silverlight 应用程序的网站和 Silverlight 应用程序的 WCF 服务。 到目前为止,我
我有一个在 Azure 上作为服务发布的 webapi。它使用集成的 AD 安全性。 在我的 Controller 中,我可以通过 User 属性访问 ClaimsPrincipal。 ClaimsP
我有一个具有多个部门级别的应用程序。用户是代表部门的 AD 组的成员。然后,该组是代表上级部门的另一个组的成员,依此类推,通过多个级别。 我需要知道整个传递组成员资格链,但我还需要知道用户是哪个组的直
我有一个具有多个部门级别的应用程序。用户是代表部门的 AD 组的成员。然后,该组是代表上级部门的另一个组的成员,依此类推,通过多个级别。 我需要知道整个传递组成员资格链,但我还需要知道用户是哪个组的直
我有一个 Office 365 帐户(使用最新的 SharePoint 2013 实例) 我还有一个针对 Office 365 进行身份验证的简单 .net Web 应用程序,我创建了一个 AppPr
我创建了一个自定义主体类 public class FacebookPrincipal : ClaimsPrincipal { public JObject Data { get; set;
我有一个 Nancy 模块和一个装饰器类,它们需要知道 ClaimsPrincipal 才能检索用户的电子邮件地址。所以我将构造函数声明为 public EmailDecorator(IDbConne
我遇到了有关为结合了 MVVM 的 Razor 页面编写单元测试的问题。我想测试 Razor 中的 OnPostAsync() 方法,但是此方法将调用另外两个需要 ClaimsPrincipal 用户
我是一名优秀的程序员,十分优秀!