我有一个使用基于声明的授权的WCF服务。
我想要做的是将操作归属为ClaimsPrincipalPermissionAttribute
,并且只在我的自定义ClaimsAuthorizationManager
中使用授权检查触发器一次。但是我发现这个授权检查被触发了两次;一次用于URL,然后第二次用于操作本身。
我找不到关于这个主题的很多信息,但我发现的信息表明这是设计的。是否有可能覆盖此行为并且不对URL执行任何授权,并且仅基于操作授权?
我对基于网址的授权毫无兴趣,而且我宁愿避免为每个网址添加声明,因为我可能会有很多这些网址,而且可能会在将来发生变化。
我已经阅读了几篇文章,并看过Dominick Baier关于这个主题的视频,虽然我从中学到了很多东西,但我还是找不到答案。这根本不可能,我只需处理基于URL的授权吗?
答案 0 :(得分:2)
您无法更改此行为 - 我所做的是编写发出不同声明类型的自定义声明权限属性。这样我可以区分每请求调用和显式属性。
或Thinktecture.IdentityModel nuget包。