强类型@ User.Identity

时间:2011-10-04 16:47:29

标签: asp.net-mvc-3 razor strong-typing custom-view iidentity

我自定义了IIdentityIPrincipalIIdentity中添加了一些属性。

您可以为我的自定义类获取强类型实例@User.Identity吗?无需在演员阵容中进行转换。

我想到了像剃刀自定义View这样的东西,但是甚至不知道从哪里开始。

2 个答案:

答案 0 :(得分:3)

您可以尝试在IPrincipal

上创建扩展方法
public static class PrincipalExtensions
{
    public static MyIdentity GetMyIdentity (this IPrincipal principal)
    {
        return principal.Identity as MyIdentity;
    }
}

然后致电@User.GetMyIdentity()

获取您的身份

答案 1 :(得分:3)

您可以为视图创建新的基本类型,并向其添加将执行转换的属性或方法。这样你就可以避免在你的视图中一直这样做。