如何在WCF中禁用每个请求(基于URL)的声明授权?
我有一个WCF服务,它使用基于声明的授权 我要做的是使用如何在WCF中禁用每个请求(基于URL)的声明授权?,wcf,url,authorization,wif,claims,Wcf,Url,Authorization,Wif,Claims,我有一个WCF服务,它使用基于声明的授权 我要做的是使用ClaimsPrincipalPermissionAttribute为操作赋予属性,并且在我的自定义ClaimsAuthorizationManager中只触发一次授权检查触发器。然而,我发现该授权检查被触发了两次;一次用于URL,然后第二次用于操作本身 我找不到关于这个主题的太多信息,但我所发现的表明这是故意的。我是否可以覆盖此行为,而不对URL执行任何授权,并且仅基于操作执行授权 我对基于URL的授权不感兴趣,我真的希望避免为每个URL
ClaimsPrincipalPermissionAttribute
为操作赋予属性,并且在我的自定义ClaimsAuthorizationManager
中只触发一次授权检查触发器。然而,我发现该授权检查被触发了两次;一次用于URL,然后第二次用于操作本身
我找不到关于这个主题的太多信息,但我所发现的表明这是故意的。我是否可以覆盖此行为,而不对URL执行任何授权,并且仅基于操作执行授权
我对基于URL的授权不感兴趣,我真的希望避免为每个URL添加声明,因为我可能会有很多URL,而且它们将来可能会改变
我读过几篇文章,看过多米尼克·拜尔(Dominick Baier)关于这个主题的视频,虽然我从中学到了很多东西,但我仍然找不到答案。这是不可能的,我还必须处理必须基于URL进行授权的问题吗?您不能更改此行为-我所做的是编写一个自定义声明权限属性,该属性会发出不同的声明类型。通过这种方式,我可以区分每个请求调用和显式属性
或者Thinktecture.IdentityModel nuget软件包。啊,我明白了,我想这是一个合理的解决方案-谢谢。我认为我缺少了一些扩展点,可以完全覆盖行为。