首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在ASP.NET核心上显示未授权页面

如何在ASP.NET核心上显示未授权页面
EN

Stack Overflow用户
提问于 2016-11-01 08:29:35
回答 1查看 1.9K关注 0票数 5

使用ASP.NET属性时,如何在[Authorize]核心上显示错误页面?

策略

代码语言:javascript
复制
services.AddAuthorization(p =>
{
    p.AddPolicy("RequireAdminRole", policy => policy.RequireRole("Admin"));
    p.AddPolicy("RequireTrainerRole", policy => policy.RequireRole("Trainer"));
    p.AddPolicy("RequireTeamLeaderRole", policy => policy.RequireRole("Team Leader"));
    p.AddPolicy("RequireUserRole", policy => policy.RequireRole("User"));
});

控制器

代码语言:javascript
复制
[Authorize(Policy = "RequireAdminRole")]
[Area("Admin")]
public class BaseController : Controller
{
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-01 08:49:12

如果使用cookie身份验证来保护资源,则可以使用AccessDeniedPath属性重定向到错误页:

代码语言:javascript
复制
        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AccessDeniedPath = "<path>"
        });

否则,您可以使用UseStatusCodePages处理403个

代码语言:javascript
复制
app.UseStatusCodePages(new StatusCodePagesOptions()
 {
     HandleAsync = (ctx) =>
     {
          if (ctx.HttpContext.Response.StatusCode == 403)
          {
               //handle
          }

          return Task.FromResult(0);
     }
 }); 
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40356447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档