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; }
}
}
正如你在上面看到的,它在演员阵容中失败了。我不确定为什么这是因为我在 MVC4 中做了类似的事情,但继承的原则是System.Security.Principal.IPrincipal
因为这是控制器用户属性的一种类型。