ASP.NetCore6MVC上自定义主体显示在AuthorizeFilter属性上出现Forbidden错误。
创始人
2024-09-17 14:01:14
0
  1. 在Startup.cs文件中添加以下代码来启用认证和授权服务:

services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie(options => { options.Cookie.Name = "YourCookieName"; options.LoginPath = new PathString("/Account/Login"); options.ExpireTimeSpan = TimeSpan.FromMinutes(60); }); services.AddAuthorization(options => { options.DefaultPolicy = new AuthorizationPolicyBuilder(CookieAuthenticationDefaults.AuthenticationScheme) .RequireAuthenticatedUser() .Build(); });

  1. 在控制器或操作中使用[Authorize]属性进行授权。

  2. 如果需要自定义主体,可以将其注入到HttpContext中,并在操作中使用AuthorizeFilter属性进行授权,如下所示:

[AuthorizeFilter(Policy = "YourCustomPolicy")] public IActionResult YourAction([FromServices]YourCustomPrincipal principal) { // Your code here }

  1. 在Startup.cs文件中配置策略:

services.AddAuthorization(options => { options.AddPolicy("YourCustomPolicy", policy => policy.RequireClaim("YourCustomClaim")); });

  1. 在YourCustomPrincipal.cs文件中实现自定义主体,并重写ToString方法,如下所示:

public class YourCustomPrincipal : ClaimsPrincipal { public YourCustomPrincipal(ClaimsPrincipal principal) : base(principal) { }

public override string ToString()
{
    return "YourCustomPrincipal";
}

}

使用以上方法,即可成功解决ASP.Net Core 6 MVC上自定义主体显示在Authorize Filter属性上出现Forbidden错误的问题。

相关内容

热门资讯

分享一款!wepoker怎么挂... 分享一款!wepoker怎么挂底牌,fishpoker透视底牌,总是真的有挂(有挂详情)1)免费钻石...
实测分享!wepoker怎么拿... 实测分享!wepoker怎么拿到好牌,werplan透视挂,竟然真的有挂(有挂技术)1)免费钻石:进...
每日必看!wepoker私人局... 每日必看!wepoker私人局规律,hhpoker辅助,一贯存在有挂(真是有挂)1、进入到是否有挂之...
推荐一款!aapoker脚本怎... 推荐一款!aapoker脚本怎么用,pokemmo手机辅助软件,一直是有挂(存在有挂)破解侠是真的助...
科普攻略!德州真人透视脚本,h... 科普攻略!德州真人透视脚本,hhpoker可以控制吗,果然有挂(有挂教学)1、实时透视辅助更新:用户...
专业讨论!来玩app 德州 辅... 专业讨论!来玩app 德州 辅助,wepoker新号好一点吗,一直真的有挂(有挂头条)1)免费钻石:...
一分钟快速了解!aapoker... 一分钟快速了解!aapoker透视方法,wejoker透视方法,真是是有挂(有挂教程);1、超多福利...
解密关于!wepoker有人用... 解密关于!wepoker有人用过吗,wepoker怎么开辅助,一贯存在有挂(今日头条)1、首先打开辅...
分享开挂内幕!wepoker新... 分享开挂内幕!wepoker新号好一点吗,德普之星辅助工具如何打开,一贯真的是有挂(有挂详细)1)辅...
终于知道!fishpoker透... 终于知道!fishpoker透视,德扑圈透视,竟然真的有挂(有挂功能)1、完成辅助器v3.3的残局,...