从 ASP.NET 5 中的基本控制器构造函数访问标识用户



我尝试在我的抽象基控制器构造函数中访问标识当前用户,以使用该链接在视图中显示用户(如果它已登录)。

所以,我得到了User财产是null.每个人都建议使用过滤器并通过视图数据返回用户。这里的示例:"为什么 User(如 User.Identity.Name 中)在我的抽象基本控制器中为 null?

我尝试做这样的想法,但面对问题: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;
    }
}

所以,我有两个问题:

  • 有没有办法将数据从过滤器发送到控制器?
  • 也许还有其他方法可以获得不为空的用户?

您可以尝试使用操作过滤器,而不是授权过滤器。 这些将在管道中稍后处理,并有权访问用户。

相关内容

  • 没有找到相关文章