0
MVC5控制器有一個用戶屬性是一個System.Security.Claims.ClaimsPrincipal
無法從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
,因爲這是控制器用戶屬性是一種類型。
因此,一旦有人使用其中一種方法登錄,您可以向該集合中添加一個聲明,以便識別數據庫中的用戶,併爲claimprinciple類提供擴展方法,以便您可以這出來,還是數據庫用戶記錄? – Tim
是的。你可以在WIF可擴展性點上做這個叫做「索賠認證管理器」(我們更喜歡稱之爲索賠變換器)。 –
我在這和一些類似的查詢在http://stackoverflow.com/questions/17641956/howto-use-new-mvc5-authentication-with-existing-database中的一些答案之間感到困惑。我想在RTM的時候會有更多的細節,但是關於MVC5中新的聲明/身份系統的自定義的詳細信息很少 – Tim