[转]Reporting Services 中的身份验证类型
本文转自:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008/cc281310%28v%3dsql.100%29
通过随服务器一起安装的 Windows 身份验证扩展插件或您部署的自定义身份验证扩展插件,Reporting Services 可处理 HTTP 请求的所有身份验证功能。Windows 身份验证扩展插件支持不同类型的身份验证,因此您可以精确地控制报表服务器将接受哪些 HTTP 请求。身份验证类型包括 RSWindowsNegotiate、RSWindowsKerberos、RSWindowsNTLM 和RSWindowsBasic。每种身份验证类型都可以单独打开或关闭。如果您希望报表服务器接受多种类型的请求,则可启用多种身份验证类型。
![]() |
---|
在 Reporting Services 的早期版本中,所有身份验证支持都是由 IIS 提供的。在此版本中,将不再使用 IIS。Reporting Services 会在内部处理所有身份验证请求。 |
身份验证类型
下表介绍了 Reporting Services 支持的身份验证类型。
AuthenticationType 名称 |
HTTP 身份验证层值 |
默认情况下是否使用 |
说明 |
---|---|---|---|
RSWindowsNegotiate |
Negotiate |
是 |
RSWindowsNegotiate 指示报表服务器处理指定 Negotiate 的身份验证请求。Negotiate 会先尝试 Kerberos 身份验证,但是如果 Active Directory 无法将客户端请求的票证授予报表服务器,则回退到 NTLM。仅当票证不可用时,Negotiate 才会回退到 NTLM。如果第一次尝试导致出错而不是缺少票证,则报表服务器不会进行再次尝试。 |
RSWindowsNTLM |
NTLM |
是 |
NTLM 可通过按照质询响应中的说明交换私有数据对用户进行身份验证。 将不会在其他请求中对凭据进行委托或模拟。后续请求将遵循新的质询响应顺序。根据网络安全设置的不同,系统可能提醒用户输入凭据,或者会以透明方式处理身份验证请求。 |
RSWindowsKerberos |
Kerberos |
否 |
对于指定 Kerberos 身份验证的请求,报表服务器将读取发出请求的用户的安全令牌权限。如果某个域启用了委托,则还可在为报表提供数据的外部数据源的其他连接中使用请求报表的用户的令牌。 在指定 RSWindowsKerberos 之前,请确保您所使用的浏览器类型确实支持该值。如果您使用的是 Internet Explorer,则 Kerberos 身份验证只能通过 Negotiate 进行支持。Internet Explorer 将不表述直接指定 Kerberos 的身份验证请求。 |
RSWindowsBasic |
Basic |
否 |
基本身份验证是在 HTTP 协议中定义的,并只能用于对向报表服务器发出的 HTTP 请求进行身份验证。 凭据以 base64 编码形式在 HTTP 请求中传递。如果您使用基本身份验证,则在通过网络发送用户帐户信息之前,请使用安全套接字层 (SSL) 对其进行加密。SSL 提供一个加密通道,可借助此通道通过 HTTP TCP/IP 连接将连接请求从客户端发送到报表服务器。有关详细信息,请参阅 Microsoft TechNet 网站中的 Using SSL to Encrypt Confidential Data(使用 SSL 加密机密数据)。 |
Custom |
(Anonymous) |
否 |
匿名身份验证将指示报表服务器忽略 HTTP 请求中的身份验证标头。报表服务器接受所有请求,但不接受您所提供用来对用户进行身份验证的自定义 ASP.NET 窗体身份验证的调用请求。 仅当要在报表服务器上部署处理所有身份验证请求的自定义身份验证模块时,才指定 Custom。不能将 Custom 身份验证类型与默认的 Windows 身份验证扩展插件一起使用。 |
不支持的身份验证方法
不支持下列身份验证方法和请求。
身份验证方法 |
说明 |
---|---|
匿名 |
报表服务器将不接受来自匿名用户的未经身份验证的请求,但包含自定义身份验证扩展插件的那些部署除外。 如果对配置为使用基本身份验证的报表服务器启用报表生成器访问,则报表生成器将接受未经身份验证的请求。 对于所有其他情况,在匿名请求到达 ASP.NET 前将拒绝该请求,同时生成 HTTP 状态 401 拒绝访问错误。客户端收到 401 拒绝访问错误后必须使用有效的身份验证类型重新表述该请求。 |
单一登录技术 (SSO) |
在 Reporting Services 中不提供对单一登录技术的本机支持。如果希望使用单一登录技术,则必须创建自定义身份验证扩展插件。 报表服务器宿主环境不支持 ISAPI 筛选器。如果您使用的 SSO 技术以 ISAPI 筛选器形式实现,请考虑使用 RSASecueID 或 RADIUS 协议的 ISA Server 内置支持。另外,还可以创建 ISA Server ISAPI 或 RS 的 HTTPModule,但是建议您直接使用 ISA Server。 |
Passport |
SQL Server 2008 不支持。 |
摘要式 |
SQL Server 2008 不支持。 |
如何配置身份验证设置
保留报表服务器 URL 后,身份验证设置将配置为使用默认的安全设置。如果错误地修改了这些设置,则报表服务器将返回 HTTP 401 拒绝访问错误,该错误针对无法通过身份验证的 HTTP 请求。选择身份验证类型要求您已了解在网络中是如何支持 Windows 身份验证。必须指定至少一种身份验证类型。可为 RSWindows 指定多种身份验证类型。RSWindows 身份验证类型(即,RSWindowsBasic、RSWindowsNTLM、RSWindowsKerberos 和 RSWindowsNegotiate)与 Custom 互斥。
![]() |
---|
Reporting Services 不验证您指定的设置以确定它们对于您的计算环境来说是否正确。有可能默认安全设置将对您的安装无效,也有可能将指定对安全基础结构无效的配置设置。因此,使报表服务器部署在较大的单位中可用之前,先在受控的测试环境中仔细测试该报表服务器部署非常重要。 |
报表服务器 Web 服务和报表管理器始终使用相同的身份验证类型。不能为报表服务器服务的各功能区配置不同的身份验证类型。如果您具有扩展部署,请确保在部署的所有节点上重复所有更改。不能将同一扩展中的不同节点配置为使用不同的身份验证类型。
后台处理不接受来自最终用户的请求,但是会对所有请求进行身份验证以发现无人参与的执行。后台处理始终使用 Windows 身份验证,并使用报表服务器服务或无人参与的执行帐户(如果已配置)对请求进行身份验证。
有关配置 Reporting Services 中的身份验证的详细信息,请参阅以下主题:
如何在 Reporting Services 中配置 Windows 身份验证
[转]Reporting Services 中的身份验证类型的更多相关文章
- SQLServer 中的身份验证及登录问题
SQLServer 中的身份验证及登录问题 by:授客 QQ:1033553122 身份验证 SQL Server 支持两种身份验证模式,即Windows 身份验证模式和混合模式. Windows 身 ...
- 从零搭建一个IdentityServer——聊聊Asp.net core中的身份验证与授权
OpenIDConnect是一个身份验证服务,而Oauth2.0是一个授权框架,在前面几篇文章里通过IdentityServer4实现了基于Oauth2.0的客户端证书(Client_Credenti ...
- 学学dotnet core中的身份验证和授权-1-概念
前言 身份验证: Authentication 授权: Authorization net core 中的身份验证和授权这两个部分,是相辅相成的.当初我在学在部分的时候,是看的 net core 官网 ...
- 用Retrofit发送请求中添加身份验证
用Retrofit发送请求中添加身份验证====================在安卓应用开发中, retrofit可以极大的方便发送http网络请求,不管是GET, POST, 还是PUT, DEL ...
- Azure Service Bus 中的身份验证方式 Shared Access Signature
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- 也谈Asp.net 中的身份验证
钱李峰 的这篇博文<Asp.net中的认证与授权>已对Asp.net 中的身份验证进行了不错实践.而我这篇博文,是从初学者的角度补充了一些基础的概念,以便能有个清晰的认识. 一.配置安全身 ...
- nancy中的身份验证
在nancy中,身份验证分为basic ,form ,token,stateless几种,basic和form这里不说了,其中如果是使用cookie来保存身份的, 需要注意的是:cookie有大小的限 ...
- Kubernentes中的身份验证
Kubernentes中的身份验证 kubernetes 系统的各组件需要使用 TLS 证书对通信进行加密,本文档使用 CloudFlare 的 PKI 工具集 cfssl 来生成 Certifica ...
- JavaWeb应用中的身份验证(声明式)——基于表单的身份认证
容器管理安全最普遍的类型建立在基于表单的身份验证方式上. 通过这样的方式,server自己主动将尚未验证的用户重定向到一个HTML表单.检查他们的username和password,决定他们属于哪个角 ...
随机推荐
- nfs 客户端挂住
mount -t nfs -o soft,retry=1,timeo=10,intr 192.168.9.27:/mnt/vm /mnt/nfs-vm 可以让NFS client在连接不到NFS se ...
- Redis-HA高可用方案Sentinel配置
上一节中介绍了master-slave模式,在最小配置:master.slave各一个节点的情况下,不管是master还是slave down掉一个,“完整的”读/写功能都将受影响,这在生产环境中显然 ...
- 在Asp.Net MVC中利用快递100接口实现订阅物流轨迹功能
前言 分享一篇关于在电商系统中同步物流轨迹到本地服务器的文章,当前方案使用了快递100做为数据来源接口,这个接口是收费的,不过提供的功能还是非常强大的,有专门的售后维护团队.也有免费的方案,类似于快递 ...
- 《基于MVC的JavaScript Web富应用开发》学习笔记
第1章 MVC和类 1. 什么是MVC? MVC是一种设计模式, 它将应用划分为3个部分: 数据(模型, Model), 展现层(视图, View) 和用户交互层(控制器, Controller). ...
- TwoSum / Three Sum
Let's begin with a naive method. We first need to sort the array A[n]. And we want to solve the prob ...
- [NOI2017]蔬菜(贪心)
神仙题啊! 早上开了两个多小时,终于肝出来了,真香 我们考虑从第 \(10^5\) 天开始递推,先生成 \(p=10^5\) 的解,然后逐步推出 \(p-1,...,2,1\) 的解. 那怎么推出 \ ...
- CF1082解题报告
CF1082A Vasya and Book 模拟一下即可 \(Code\ Below:\) #include <bits/stdc++.h> using namespace std; c ...
- linux apache+php+mysql安装及乱码解决办法
1.乱码解决方法 首先确认mysql数据库字符集设置正确,php页面字符设置正确,之后修改apache配制文件http.conf 注释掉以下字符 AddDefaultCharset UTF-8 此为乱 ...
- redis ERR This instance has cluster support disabled
Redis 集群的时候报错: redis.clients.jedis.exceptions.JedisDataException: ERR This instance has cluster sup ...
- Git - 必知必会
配置Git git config --global user.name "your_name" # 配置全局用户名 git config --global user.email & ...