WCF数据服务授权策略

时间:2015-08-07 15:03:43

标签: wcf dynamic filter authorization uri

我正在使用WCF数据服务,我需要实施授权策略。 策略是动态的,存储在包含目标表的表中, 字段和允许的值。 为了实现这一点,我重写了OnStartProcessingRequest方法 DataService但我尝试更改RequestUri,我遇到了#34; Unauthorization"问题。 有一种方法可以在OnStartProcessingRequest方法中更改RequestUri参数吗?

此代码生成exeption

protected override void OnStartProcessingRequest(ProcessRequestArgs args) {
    Uri uri = new Uri(args.RequestUri + "?$filter=Id eq 3");
    args.RequestUri = uri;
}

我无法使用拦截器,因为系统是动态的,而且不知道。

目前采用的解决方案是在客户端应用程序中应用过滤器(html5 / js) 并验证服务器上的过滤参数(进入OnStartProcessingRequest)。

我想知道是否有办法在OnStartProcessingRequest中添加过滤器参数 或任何可以解决这个问题的方法。

0 个答案:

没有答案