Сильно типизированный @User.Identity
Я настраиваю IIdentity
а также IPrincipal
добавив еще несколько свойств в IIdentity
,
Вы можете получить строго типизированный экземпляр @User.Identity
для моего пользовательского класса? Без необходимости делать преобразования в актерском составе.
Я думал о чем-то вроде бритвы, настраивающей вид, но даже не знаю с чего начать.
2 ответа
Решение
Вы можете попробовать создать метод расширения на IPrincipal
public static class PrincipalExtensions
{
public static MyIdentity GetMyIdentity (this IPrincipal principal)
{
return principal.Identity as MyIdentity;
}
}
а затем получить вашу личность, позвонив @User.GetMyIdentity()
Вы можете создать новый базовый тип для ваших представлений и добавить к нему свойство или метод, который будет выполнять приведение. Таким образом, вы можете избежать этого все время в ваших взглядах.