现在的位置: 首页 > 综合 > 正文

SharePoint 2013 BI 之 report service 身份认证模式

2013年08月08日 ⁄ 综合 ⁄ 共 2013字 ⁄ 字号 评论关闭

本文介绍SharePoint 2013 BI 之 report service 身份认证模式。

关于如何新建数据源和report service 简单实例,请参考前一篇 《SharePoint 2013 BI 之 report service 实例》

这里所说的report service 身份认证模式,确切来是report service data source 的用户连接凭证类型,report service 有四种方式进行身份验证:

认证方式 说明
Windows Authentication(integrated security) windows 集成身份认证就是以当前访问SharePoint站点用户的身份连接数据源,这个认证配置比较复杂,好处是可以由数据源端控制访问权限和数据权限(只能是域账号可以集成)
Prompt for credential  弹出用户凭证输入窗口,这个配置简单,当报表连接数据源时要求用户输入用户名和密码,缺点也是需要用户输入用户名和密码
Stored credential  存储凭证就是在配置时输入一个用户名和密码,所有用户使用报表需要连接数据源时都使用这个设置好的用户名和密码。注意在SSDT中,这一项只支持Sql 认证,在SharePoint site和Report builder中可以支持Sql和windows两种认证方式,如果使用Data alert的话只能用这中认证方式,具体什么是Data alert会在后面的博文里面解释。

如果选中"Impersonate the authenticated user after connecting",则可以部分达到integrated security认证的效果,此时连接控制使用设置好的用户名和密码进行验证,但是数据权限使用当前登陆SharePoint 站点的用户的权限,相当于数据库连接成功后使用了 SetUser() 或
 Execute As这个Sql 命令,这个是SharePoint 2013 新增特性。

可以使用下列语句要测试当前用户,可将其作为报表数据集的Sql 语句,然后选中和不选中"Impersonate the authenticated user after connecting",对比两种情况的结果:

select CURRENT_USER ascurrentUser,SUSER_NAME() as suserName,SESSION_USER assessionUser,ORIGINAL_LOGIN( ) as originalLogin ,USER as userName,SUSER_SNAME()as suserSName

Credential is not required  不需要验证用户凭证的情况下就选择这个,比较少用,一般的数据源都需要认证。

在SharePoint 2013中编辑Data Source 属性:

在SSDT 中有如下方式:

在Report builder 中编辑Data source 的属性

除了Windows Authentication(integrated security),其他认证方式在数据源属性里面配置完成基本就可以了,但是Windows Authentication(integrated security)需要比较繁琐的额外配置,为什么需要这个复杂的配置呢?

原因是当使用Windows Authentication(integrated security)认证方式时,需要通过如下步聚:

 

a. 首先是用户要登陆SharePoint 2013 的Site,SharePoint Farm 会为用户生成Claim token,作为用户访问SharePoint资源的凭证

b. 用户访问报表连接数据源时需要windows token,因此SharePoint farm会通过C2WTS(Claims to Windows Token Services)将Claim token转化成Windows token,所以需要配置SharePoint 2013 C2WTS

c. SharePoint farm 将Windows token发送给Data Source,但问题是Server之间传递Windows token必须使用WindowsKerberos认证,所以SharePoint 2013 Kerberos 认证

d. Data source server验证Windows token正确后返回数据给SharePoint farm

e. SharePoint farm根据返回的数据组织报表并呈现给客户端

SharePoint 2013 集成report service Kerberos认证的配置步聚请参考: http://blogs.technet.com/b/sharepoint_-_inside_the_lines/archive/2013/05/28/sharepoint-2013-with-ssrs-2012-and-constrained-delegation.aspx 

抱歉!评论已关闭.