问题描述
使用下面的“ ForbidResult”,这会导致url重定向。因此,Context.Items["data"]
对于重定向页面/MicrosoftIdentity/Account/AccessDenied?ReturnUrl=SomeSite
丢失。
public class PermissionAttribute : TypeFilterAttribute
{
private class PermissionFilter : IAsyncActionFilter
{
public async Task OnActionExecutionAsync(ActionExecutingContext context,ActionExecutionDelegate next)
{
context.HttpContext.Items["data"] = "some data";
var authorized = check_if_it_has_permissions();
if (authorized)
{
await next();
}
else
{
context.Result = new ForbidResult(); //this is a url redirect using /MicrosoftIdentity/Account/AccessDenied?ReturnUrl=SomeSite
}
}
}
}
partial_view_header.cshtml
<div id="header">
@{
Context.Items["data"]
}
</div>
是否可以保留当前网址,而不将其更改为“ / MicrosoftIdentity / Account / AccessDenied?ReturnUrl = xxx”,或将数据传递到“帐户AccessDenied”视图的方法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)