[转]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,决定他们属于哪个角 ...
随机推荐
- OS基础:动态链接库(二)
1.vc6.0新建工程MFC AppWizard[dll]工程 命名LptMfcDll1 2.在lptMfcDll1.h添加函数名声明 添加的代码: //lptAddBegin void lptMfc ...
- Asp .Net core 2 学习笔记(2) —— 中间件
这个系列的初衷是便于自己总结与回顾,把笔记本上面的东西转移到这里,态度不由得谨慎许多,下面是我参考的资源: ASP.NET Core 中文文档目录 官方文档 记在这里的东西我会不断的完善丰满,对于文章 ...
- 作业调度系统quartz.net
任务调度在我们日常开发过程中非常常见,比如:每天晚上0点自动执行某某操作:每周三晚上2点执行某某操作:......当然,我们处理这类问题的方法也有很多,比如:sql的自动任务:windows上创建任务 ...
- Android .9 图片
最初对 .9 图片不是十分理解,一些教程让人摸不到头脑. 最近重新研究终于明白了它的原理. 其实最重要的一点记住就可以了,就是 .9 图片的四条黑边的意义,每条黑边的意义都不一样: 顶部:在水平拉伸的 ...
- C++获取系统信息(IP地址、硬件信息等)
#include<stdio.h> #include<winsock2.h> //该头文件需在windows.h之前 #include<windows.h> #in ...
- 18_python_类关系
一.类与类之间的关系 1.依赖关系 class Elephant: def __init__(self, name): self.name = name def open(self, ...
- yum 安装mysql数据库
1.先查看是否有安装mysql,有的话通过yum remove mysql先卸载掉,卸载完成后执行 yum install -y mysql-server mysql mysql-deve 2.启动m ...
- Linux巩固记录(7) Hbase安装
zookeeper安装好,并启动成功后,接下来开始安装hbase #下载hbase wget http://mirror.bit.edu.cn/apache/hbase/1.3.1/hbase-1.3 ...
- nginx-https错误
连接 ssl.acfun.tv 时发生错误. SSL 接收到一个超出最大准许长度的记录. (错误码: ssl_error_rx_record_too_long) 最后发现,是因为nginx里的配置包含 ...
- Swift 里 Array (四) Accessing Elements
根据下标取值 关键代码如下: func _getElement( _ index: Int, wasNativeTypeChecked: Bool, matchingSubscriptCheck: _ ...
注意
重要提示