尽管用户已获得授权,但仍拒绝访问域服务的操作

时间:2011-09-30 06:52:42

标签: authentication silverlight-4.0 internet-explorer-9 wcf-ria-services

我们系统的用户(Silverlight 4 / WCF Ria Services)在使用 Internet Explorer 9 和我们的应用程序时遇到问题。使用FireFox不是问题。我尝试在其他系统上重现问题,使用与用户系统相同的配置,但我无法重现问题。所以我认为这是用户系统的错误配置。

问题是尽管用户已成功登录我们的应用程序,但仍拒绝访问所有域服务操作。

服务器日志包含上述用户调用的以下条目的每个操作:

  

记录System.UnauthorizedAccessException类型的异常

     

扩展属性:StackTrace - System.UnauthorizedAccessException:   访问操作'xxxx'被拒绝。在System.ServiceModel.DomainServices.Server.DomainService.ValidateMethodCall(DomainOperationEntry)   domainOperationEntry,Object []参数,List`1 validationResults)
  在System.ServiceModel.DomainServices.Server.DomainService.Query(QueryDescription   queryDescription,IEnumerable`1& validationErrors,Int32& TOTALCOUNT)

每个DomainService类都使用RequiresAuthentication - Attribute进行修饰。没有其他属性应用于类或方法。我们正在使用从AuthenticationBase派生的自定义身份验证服务和从UserBase派生的自定义用户类。

用户具有以下程序版本: IE9版本:9.0.8112.16421 Silverlight版本:4.0.60531.0

1 个答案:

答案 0 :(得分:2)

好的,我找到了解决方案。问题是高级隐私设置中IE 9的某些Internet选项设置错误。

自动Cookie处理覆盖(选中CheckBox),所有 Cookie (第一方和第三方)阻塞即可。 会话Cookie 被拒绝

禁用 覆盖自动Cookie处理或允许会话Cookie 后,用户可以按照IE 9中的预期使用我们的应用程序。