我定制了 IIdentity
和 IPrincipal
接口,并在 IIdentity
中添加了一些属性。
你是否可以获取一个强类型的实例 @User.Identity
,它是基于我的自定义类?而无需进行转换或强制转换操作。
我考虑过像 Razor 定制 View 一样的方法,但甚至不知道从何开始。
我定制了 IIdentity
和 IPrincipal
接口,并在 IIdentity
中添加了一些属性。
你是否可以获取一个强类型的实例 @User.Identity
,它是基于我的自定义类?而无需进行转换或强制转换操作。
我考虑过像 Razor 定制 View 一样的方法,但甚至不知道从何开始。
您可以尝试在IPrincipal
上创建一个扩展方法。
public static class PrincipalExtensions
{
public static MyIdentity GetMyIdentity (this IPrincipal principal)
{
return principal.Identity as MyIdentity;
}
}
然后通过调用@User.GetMyIdentity()
来获取您的身份。
你可以为视图创建一个新的基本类型,并添加一个属性或方法来进行强制类型转换。这样,你就可以避免在视图中一直重复这个操作。