gpt4 book ai didi

asp.net-core - 如何根据 asp net core 代码中的策略验证用户?

转载 作者:行者123 更新时间:2023-12-01 08:50:53 25 4
gpt4 key购买 nike

我看过的所有教程都向您展示了如何通过添加来保护操作

[Authorize(Policy = "admin")]

到 Controller 或 Action 。

但是,如果某人是“管理员”,我需要返回浏览器(以 json 格式)回答问题的答案,而不是抛出错误
并且没有任何消息来源告诉如何做到这一点。
是的,您可以检查声明 (User.HasClaim),但政策由多个声明组成。

那么我该怎么做呢?

最佳答案

在 Controller 的构造函数中,您可以依赖 IAuthorizationService 授权服务来注入(inject)它。然后你可以用它来检查用户是否符合这样的政策:

var isAuthorized = await authorizationService.AuthorizeAsync(User, "admin");

其中“admin”是策略的名称

关于asp.net-core - 如何根据 asp net core 代码中的策略验证用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43231535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com