强类型 @User.Identity

3

我定制了 IIdentityIPrincipal 接口,并在 IIdentity 中添加了一些属性。

你是否可以获取一个强类型的实例 @User.Identity,它是基于我的自定义类?而无需进行转换或强制转换操作。

我考虑过像 Razor 定制 View 一样的方法,但甚至不知道从何开始。

2个回答

3

您可以尝试在IPrincipal上创建一个扩展方法。

public static class PrincipalExtensions
{
    public static MyIdentity GetMyIdentity (this IPrincipal principal)
    {
        return principal.Identity as MyIdentity;
    }
}

然后通过调用@User.GetMyIdentity()来获取您的身份。


3

你可以为视图创建一个新的基本类型,并添加一个属性或方法来进行强制类型转换。这样,你就可以避免在视图中一直重复这个操作。


也不理解“Fin ruin”是什么意思;我在哪里可以找到一篇好的文章来解释如何自定义我的ViewBase(基于Razor)? - ridermansb
1
@adrift 抱歉,是我打错了字。我的意思是“方法”。 - marcind

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接