有没有办法从.NET Core AuthorizationHandler筛选器返回数据?

时间:2019-11-29 14:31:39

标签: c# .net asp.net-mvc asp.net-core asp.net-core-3.0

我正在.NET Core 3.0中编写一个Web应用程序。

当用户发送请求时,我想使用IAuthorizationHandlermore info)对它们进行“授权”。作为此方法的一部分,我创建了一个包含有关授权的一些​​数据的对象。

在.NET Framework中,我能够使用AuthorizationContext.Controller.ViewData返回此数据。

在带有AuthorizationHandlerContext的.NET Core 3.0中可能吗?

这是一些示例代码:

public class ContextActionFilter : IAuthorizationRequirement, IAuthorizationHandler
{
    public Task HandleAsync(AuthorizationHandlerContext context)
    {
        if (context.User.Identity != null)
        {
            var username = context.User.Identity.Name;

            var objectToReturn = new ObjectToReturn()
            {
                SomeProperty = GetSomePropertyForUser(username)
            };

            //I need something like this:
            context.HttpContext.ViewData.Add("objectToReturn", objectToReturn);
        }
        else
        {
            throw new NullReferenceException();
        }
    }
}

0 个答案:

没有答案