Сильно типизированный @ User.Identity - PullRequest
3 голосов
/ 04 октября 2011

Я настраиваю IIdentity и IPrincipal, добавив еще несколько свойств в IIdentity.

Вы можете получить строго типизированный экземпляр @User.Identity для моего пользовательского класса? Без необходимости делать преобразования в актерском составе.

Я думал о чем-то вроде бритвы, чтобы настроить вид, но даже не знаю, с чего начать.

Ответы [ 2 ]

3 голосов
/ 04 октября 2011

Вы можете создать новый базовый тип для ваших представлений и добавить к нему свойство или метод, который будет выполнять приведение. Таким образом, вы можете не делать этого все время в ваших взглядах.

3 голосов
/ 04 октября 2011

Вы можете попробовать создать метод расширения на IPrincipal

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

, а затем получить свою личность, позвонив @User.GetMyIdentity()

...