WCF - 在ServiceAuthorizationManager中获取关联的ServiceContract

时间:2011-04-08 16:41:43

标签: c# .net wcf service authorization

我正在尝试实现自定义ServiceAuthorizationManager。在我的ServiceContract上,我在每个方法上都有一个名为“授权”的自定义属性,如果需要授权,我会有一个标志。

我想要做的是从我的ServiceAuthorizationManager中获取当前请求的关联ServiceContract,检查被击中端点的属性,然后如果不需要授权则返回true。

获取此权限的最佳方式是什么?一旦我得到它,我就可以轻松地使用反射来获取我的授权信息。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

一种方法是采取这样的行动:

string action = operationContext.RequestContext.RequestMessage.Headers.Action;

行动的格式为:

ServiceNamespace/ContractName/OperationName

如果您打算使用反射来获取界面并检查自定义属性,那么这应该就是您所需要的。