MVC5控制器具有一个System.Security.Claims.ClaimsPrincipal用户属性
我已经创建了一个从其继承的基本控制器。此基本控制器的User属性被从System.Security.Claims.ClaimsPrincipal继承的mycustomPrinciple覆盖
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,因为这是控制器用户属性的一种类型。
发布于 2013-07-15 21:50:17
您忽略了ClaimsPrincipal的要点--声明集合是保存特定于应用程序的身份数据的地方。然后我建议添加扩展方法来提取特定的声明,如您的"ID“。
https://stackoverflow.com/questions/17652962
复制相似问题