我有一个启用了匿名访问和集成Windows身份验证的Web项目。我构建了一个WCF数据服务,因为它只允许一次身份验证,我在服务上启用了集成身份验证。我可以在浏览器中查看该服务。但是,当我尝试查询任何实体的服务时,它给了我Forbidden错误。我也尝试在服务上启用匿名访问,但它不起作用。
我是否需要为其提供其他访问权限,或者无法在服务本身上启用一次身份验证,将项目虚拟目录保持为匿名和集成。
更新:我的数据服务中没有任何操作。对于实体,我已经为所有实体设置了“全部”权限。
答案 0 :(得分:1)
WCF数据服务上只允许一种身份验证方法。
如果您选择使用Integrated Security路由,则需要在构建DataServiceContext后设置凭据。
这样的东西可以用于使用当前用户的Windows身份。
employeeEntities = new EmployeeDataService.EmployeeEntities(new Uri("http://.../employeedata.svc"));
employeeEntities.Credentials = CredentialCache.DefaultCredentials;