我正在.NET Core 3.0中编写一个Web应用程序。
当用户发送请求时,我想使用IAuthorizationHandler
(more 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();
}
}
}