无法从System.Security.Claims.ClaimsPrincipal继承

时间:2013-07-15 11:15:15

标签: wif claims-based-identity asp.net-mvc-5

MVC5控制器的User属性为System.Security.Claims.ClaimsPrincipal

我创建了一个我继承的基本控制器。此基本控制器的User属性被mycustomPrinciple覆盖,该System.Security.Claims.ClaimsPrincipal继承自 public abstract partial class BaseController : Controller { public new mycustomPrinciple User { get { return base.User as mycustomPrinciple; //returns null here } } } public class mycustomPrinciple : System.Security.Claims.ClaimsPrincipal { private int _ID; public int ID { get { return _ID; } set { _ID = value; } } }

System.Security.Principal.IPrincipal

正如你在上面看到的,它在演员表上失败了。我不确定为什么这是因为我在MVC4中做了类似的事情,但继承的原则是{{1}},因为这是控制器用户属性的类型。

1 个答案:

答案 0 :(得分:0)

您错过了ClaimsPrincipal的要点 - 声明集合是您保留应用特定身份数据的地方。然后我建议添加扩展方法来提取特定声明,如“ID”。