我正在使用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中添加过滤器参数 或任何可以解决这个问题的方法。