[转]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,决定他们属于哪个角 ...
随机推荐
- UniGUI的 TUniPageControl控件动态拖动tabsheet的实现方法
https://blog.csdn.net/shuiying/article/details/54932518 实现可以用鼠标动态拖动tabsheet,共三个步骤: 1.在ServerModule中, ...
- Linux-IO重定向与管道
1. 输入与输出 标准输入 STDIN 文件描述符:0,默认:键盘输入 标准输出 STDOUT 文件描述符:1,默认:屏幕输出 错误输出 STDERR 文件描述符:2,默认:屏幕输出 2. 标准输出重 ...
- 关于synchronized和lock 的使用及其在线程间的通信
题目要求:子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次 synchronized的使用 import java.util.conc ...
- 利用RGB-D数据进行人体检测 带dataset
利用RGB-D数据进行人体检测 LucianoSpinello, Kai O. Arras 摘要 人体检测是机器人和智能系统中的重要问题.之前的研究工作使用摄像机和2D或3D测距器.本文中我们提出一种 ...
- Python基础语法-内置数据结构之列表
列表的一些特点: 列表是最常用的线性数据结构 list是一系列元素的有序组合 list是可变的 列表的操作, 增:append.extend.insert 删:clear.pop.remove 改:r ...
- ASP.NET WebAPI (反)序列化用[SerializableAttribute]修饰的类的一个坑
发现问题 在 ASP.NET WebAPI 项目中,有这样的 ViewModel 类: [Serializable] class Product { public int Id { get; set; ...
- 回头探索JDBC及PreparedStatement防SQL注入原理
概述 JDBC在我们学习J2EE的时候已经接触到了,但是仅是照搬步骤书写,其中的PreparedStatement防sql注入原理也是一知半解,然后就想回头查资料及敲测试代码探索一下.再有就是我们在项 ...
- Linux系统用户与属组管理(3)
好了,终于要到了管理 Linux 账号的时刻了,对于 Linux 有一定的熟悉度之后,再来就是要管理连上 Linux 的账号问题了,这个账号的问题可大可小,大到可以限制他使用 Linux 主机的各项资 ...
- 【Spark调优】:RDD持久化策略
[场景] Spark对RDD执行一系列算子操作时,都会重新从头到尾计算一遍.如果中间结果RDD后续需要被被调用多次,可以显式调用 cache()和 persist(),以告知 Spark,临时保存之前 ...
- vue仿微信网页版|vue+web端聊天室|仿微信客户端vue版
一.项目介绍 基于Vue2.5.6+Vuex+vue-cli+vue-router+vue-gemini-scrollbar+swiper+elementUI等技术混合架构开发的仿微信web端聊天室— ...