c# - 方法上的多个 AuthorizeAttribute 失败
问题描述
我在我的方法上使用了多个 AuthorizeAttribute,它给了我编译错误。此错误仅出现在构建机器上,并且不知何故不会出现在我的本地机器上。
Rosyln 错误 CS0579:重复的“AuthorizeAttribute”属性
从下面的 SO 帖子来看,使用多个授权属性似乎没问题。我尝试在我的自定义授权属性上添加这个 -> [AttributeUsage(AttributeTargets.All, AllowMultiple = true)] 但它似乎不起作用。
是否可以使用多个authorizeAttribute?如果是,我错过了什么?
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, Inherited = true, AllowMultiple = true)]
public class MyCustomAuthorizeAttribute : AuthorizeAttribute
{
}
[MyCustomAuthorizeAttribute (permissions : new[]{"Permission1", "Permission2"})]
[MyCustomAuthorizeAttribute (permissions : new[]:{"Permission3", "Permission4"})]
public string GetSomething(string someId)
{
}
解决方案
避免在属性中调用任何函数。代替
[MyCustomAuthorizeAttribute (permissions : new[]{"Permission1", "Permission2"})]
使用这样的代码:
[MyCustomAuthorizeAttribute(permissions: "Permission1,Permission2")]
您可以在属性对象中拆分字符串。
推荐阅读
- c - 使用 Visual C++ 构建 SDL2_mixer 时未解析的外部符号
- python-3.x - 在 manager.dict 中的 python 多处理 manager.list
- c# - “MapGenerator.mapWidth”和“MapGenerator.mapWidth”之间的歧义
- php - 我想根据用户在 codeigniter 中的每个错误请求重定向到主页
- javascript - 如何从 JavaScript 中的循环中获取 Select 选项的值
- python - 在 matplotlib 中对齐一行图
- php - 未登录php,请检查我的代码
- seaborn - 使用带有 kind="boxen" 的 seaborn catplot 时框的边缘颜色
- php - PHP:使用 count() 获取 1 而不是 0
- php - 用于检测单词出现异常的正则表达式