SharePoint 2016本地版REST API匿名访问启用及403问题求助
你已经完成了基础的匿名访问配置,但仍出现403错误,大概率是遗漏了几个针对REST API的权限细节设置,我帮你梳理下关键步骤:
给Web应用程序的匿名用户添加「使用远程接口」权限
仅在身份验证提供程序中禁用“Require Use Remote Interfaces”还不够,需要通过PowerShell明确给Web应用程序的匿名权限掩码添加对应权限:# 替换为你的Web应用程序URL $webApp = Get-SPWebApplication "http://your-sharepoint-webapp-url" # 添加UseRemoteAPIs权限到匿名权限掩码 $webApp.AnonymousPermMask64 = $webApp.AnonymousPermMask64 -bor [Microsoft.SharePoint.SPBasePermissions]::UseRemoteAPIs $webApp.Update()执行完后记得重启对应的IIS站点,让设置生效。
检查网站集权限级别中的「使用远程接口」权限
进入网站集的网站设置 > 网站权限 > 权限级别,找到你给匿名用户分配的权限级别(比如「读取」),编辑该权限级别,确保勾选了「使用远程接口」权限。如果没有这个选项,说明你之前禁用的ViewFormPagesLockDown功能可能没完全生效,或者需要手动添加这个权限项。确保目标列表/库允许匿名访问
如果你的REST请求是针对特定列表或库的数据(比如/_api/web/lists/getbytitle('ListName')),需要单独给该列表/库配置匿名访问:进入列表设置 > 权限 > 停止继承权限 > 授予匿名用户「读取」权限。验证IIS站点的匿名身份验证配置
打开IIS管理器,找到对应的SharePoint Web应用程序站点,检查身份验证设置:- 确保「匿名身份验证」处于启用状态
- 点击「匿名身份验证」右侧的「编辑」,确认使用的是「应用程序池标识」或者正确的匿名账户(比如IUSR),且该账户对SharePoint的内容数据库有读取权限。
排查自定义解决方案或HTTP模块的干扰
如果你的环境部署了自定义的安全类解决方案、HTTP模块或者第三方工具,暂时禁用它们后测试REST API访问,排除是否是这些组件拦截了匿名请求。
内容的提问来源于stack exchange,提问作者Jay131
相关产品推荐
相关产品推荐

