2016-01-23 2 views
1

Я пытался получить доступ к текущему идентификации пользователя в моем абстрактном конструктора базовый контроллере использовать ссылку для отображения пользователя View, если он подписан в.доступ Идентификация пользователя из конструктора базового контроллера в ASP.NET 5

Итак, я получил User Недвижимость null. Каждый совет использует фильтр и возвращает пользователя через ViewData. Пример здесь: "Why is User (as in User.Identity.Name) null in my abstract base controller?"

Я пытался делать somethink, как это, но сталкиваются с проблемой: AuthorizationContextне имеет ни один из членовController!

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] 
public class UserAuthorizationAttribute : Attribute, IAuthorizationFilter 
{ 
    public void OnAuthorization(Microsoft.AspNet.Mvc.Filters.AuthorizationContext filterContext) 
    { 
     filterContext.Controller.ViewData["IdentityUser"] = filterContext.HttpContext.User; 
    } 
} 

Итак, у меня есть два вопроса:

  • Есть ли способ, чтобы отправить данные из фильтра в контроллер?
  • Может быть, есть какой-либо другой способ получить нуль пользователя?

ответ

1

Вы можете попробовать использовать фильтр действий в отличие от фильтра авторизации. Они обрабатываются позже в конвейере и имеют доступ к пользователю.

Смежные вопросы