gpt4 book ai didi

c# - 混合授权注解

转载 作者:行者123 更新时间:2023-11-30 17:13:57 24 4
gpt4 key购买 nike

我正在编写此 Web 应用程序并希望通过混合条件授权 Controller 。例如:

如果用户的角色是“Administrator”或其用户名是“programad”,我想允许访问,如下所示:

[Authorize(Roles = "Administrator", Users = "programad")]

我想要那个,因为当我第一次在应用程序上注册自己(用于测试、开发过程等)时,我还不是管理员。我想通过我的用户名获得第一个访问权限,这样我就可以让自己担任管理员角色。

我把它放在 Controller 级别,但似乎不起作用,它要求我再次登录,甚至在我输入我的凭据时它也拒绝我访问。

我如何通过我的用户名和/或我的角色授权?

最佳答案

这是因为 AuthorizeAttribute 表示用户必须处于“管理员”角色并命名为“programad”。最简单的解决方法是创建另一个角色,将用户“programad”放入其中,然后将您的 AuthorizeAttribute 更改为

[Authorize(Roles = "Administrator, NewRole")]

其中 NewRole 是您为包含用户“programad”的新角色命名的任何名称。

如果您确实需要更改 AuthorizeAttribute 以与角色或用户一起工作,您将需要创建一个派生自 AuthorizeAttribute 并覆盖 AuthorizeCore 的新类方法填写您的授权逻辑。

关于c# - 混合授权注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9244543/

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