如何解决“授权失败!给定的策略未授予”手动添加索赔时
我无法使授权策略与AddJwtBearer的OnTokenValidated事件一起使用,我尝试像PasswordlessAuthentication示例一样向用户设置声明。我已经有有效的令牌,并且我尝试保存用户(如果不存在)并添加具有相应权限的角色。但是我总是从端点收到错误消息:“授权失败!给定的策略未授予。[ApplicationName] .Category”。我们还能做什么?
这是我的ConfigureAuthentication()样子,配置中间件在模板中未更改。
{% if post.happiness_level == 3 %}
{< display image >}
{% elif post.happiness_level == 2 %}
{< display image >}
{% else %}
{<display image >}
{% endif %}
解决方法
对不起,没有时间仔细阅读您的特定示例,但是也许我可以给您一个思路,让您了解一下。 在“ Volo.Abp.Authorization”项目中引发了异常
它与abp.io permission system
有关 简而言之,这就是您添加它的方式(在此处创建策略名称)
/*
A permission is a simple policy that is granted or prohibited for a particular user,role or client.
ABP automatically discovers this class. No additional configuration required!
*/
public class TestPermissionDefinitionProvider : PermissionDefinitionProvider
{
public override void Define(IPermissionDefinitionContext context)
{
var myGroup = context.AddGroup("Test",L("Permission:Test"));
myGroup.AddPermission("Test.Products",L("Permission:ProductManagement"));
//...
}
因此,如果当前用户没有该策略,则将获得异常。 通常,将策略设置为角色,因此,在创建新用户时,会为其分配一个角色(例如“ admin”)。 您可以通过Web界面和数据库(表'AbpPermissionGrants')检查特定角色是否具有给定策略
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。