我们系统的用户(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
答案 0 :(得分:2)
好的,我找到了解决方案。问题是高级隐私设置中IE 9的某些Internet选项设置错误。
自动Cookie处理被覆盖(选中CheckBox),所有 Cookie (第一方和第三方)阻塞即可。 会话Cookie 被拒绝。
禁用 覆盖自动Cookie处理或允许会话Cookie 后,用户可以按照IE 9中的预期使用我们的应用程序。