再谈通过http访问SSAS

问题:

在有些场景下,数据中心会分为不同的服务器场:数据库场和应用程序场。服务器场间有严格的防火墙控制,其中数据库场只能建立从应用程序场的防火墙穿越,也就是说不允许任何客户端直接连接到防火墙。

这种策略对于数据库引擎来说没什么问题,但是对于分析服务来说就被完全限制住了,通常我们都是通过Excel直接连接分析服务数据库的,并且通过分析服务的角色来控制对数据的访问权限。那么是否有什么方法可以解决这个问题呢?

解决思路:

我们知道SSAS是可以通过http的方式来访问的,那么我们只要让这个站点接受windows方式的身份验证就可以简介的实现excel客户端到分析服务数据库的连接。

实验环境:

Windows 8.1 + IIS

SQL Server 2012

Adveuture Works微软官方示例数据库,这里用到的是分析服务数据库。

实验步骤:

首先,确保IIS已经被填加,然后windows身份模式已经被安装。

分别在操作系统下建立测试账户aaa和bbb依次填加到这两个组中。

在分析服务数据库下,建立两个角色, Team1和Team2。

找到维度数据的设置,分别指定第一个角色拥有Department维度下的前两个成员,另一个角色拥有这个维度下的后三个成员。

填加完毕,确认两个组都被填加到分析服务数据库中。

接下来测试一下角色权限控制的结果,用管理员身份登录,可以看到Department下的所有维度成员。

用aaa账户登录Management Studio(提示,按住Shift右键单击),可以看到其隶属的Team1角色只能看到前两个成员。

打开IIS,配置站点,打开Windows身份验证模式。

浏览数据,可以看到返回的xml结果页面。

用这个URL地址连接分析服务,用aaa账户连接,可以看到通过http的方式识别出了当前客户端的账户。

并且里面的数据接受了分析服务数据库的权限控制。

接下来在Excel中实验下,右键单击Excel.exe,选择使用指定的账户运行。

数据账户aaa的信息,使Excel以这个身份运行。

在Excel下新建透视表。

选择连接到分析服务数据库。

在服务器名称下输入URL。

选择连接到Adventure
Works多维数据集。在微软的这个示例数据库下,这个是最全的多维数据集,其它能看到的数据集实际上都是出自这个数据集的一个透视。

在Excel的透视表下,拖拽Department维度,可以看到已经接受了分析服务的角色权限控制。

保存这个Excel文件,再用管理员帐号打开这个文件,刷新透视表,可以看到根据分析服务数据库的权限设定,返回了Department下的全部维度成员数据。

结论:

通过http的方式连接到分析服务数据库,可以看到通过站点的windows身份验证模式,是可以接受分析服务数据库的角色权限控制的。通过这种方法,就可以通过应用程序服务器间接的实现对于服务器场中的分析服务数据库的访问,并且跟直接连接到分析服务数据库的效果是一样的。

再谈通过http访问SSAS,码迷,mamicode.com

时间: 2024-10-14 00:34:07

再谈通过http访问SSAS的相关文章

C++ Primer 学习笔记_73_面向对象编程 --再谈文本查询示例

面向对象编程 --再谈文本查询示例 引言: 扩展第10.6节的文本查询应用程序,使我们的系统可以支持更复杂的查询. 为了说明问题,将用下面的简单小说来运行查询: Alice Emma has long flowing red hair. Her Daddy says when the wind blows through her hair, it looks almost alive, like a fiery bird in flight. A beautiful fiery bird, he

我看朴灵评注阮一峰的《JavaScript 运行机制详解:再谈Event Loop》

阮一峰和朴灵对我来说都是大牛,他们俩的书我都买过,阮老师的译作<软件随想录>和朴灵的<深入浅出node.js>.这个事情已经过了4个月了,所以我拿来讲应该也没啥问题. 这件事情是这样的,阮一峰在自己的博客写了篇文章<JavaScript 运行机制详解:再谈Event Loop>,然后朴灵看见了,发现了很多问题,然后在印象笔记又写了篇文章<[朴灵评注]JavaScript 运行机制详解:再谈Event Loop>,由于印象笔记现在已经不能访问了(尼玛也太烂了)

Unity教程之再谈Unity中的优化技术

这是从 Unity教程之再谈Unity中的优化技术 这篇文章里提取出来的一部分,这篇文章让我学到了挺多可能我应该知道却还没知道的知识,写的挺好的 优化几何体 这一步主要是为了针对性能瓶颈中的”顶点处理“一项.这里的几何体就是指组成场景中对象的网格结构. 3D游戏制作都由模型制作开始.而在建模时,有一条我们需要记住:尽可能减少模型中三角形的数目,一些对于模型没有影响.或是肉眼非常难察觉到区别的顶点都要尽可能去掉.例如在下面左图中,正方体内部很多顶点都是不需要的,而把这个模型导入到Unity里就会是

C++ Primer 学习笔记_73_面向对象编程 -再谈文本查询示范

面向对象编程 --再谈文本查询示例 引言: 扩展第10.6节的文本查询应用程序,使我们的系统可以支持更复杂的查询. 为了说明问题,将用下面的简单小说来运行查询: Alice Emma has long flowing red hair. Her Daddy says when the wind blows through her hair, it looks almost alive, like a fiery bird in flight. A beautiful fiery bird, he

[原创]跨域授权访问SSAS

SSAS的权限控制是基于Role进行,而Role的成员只能是windows用户或域用户,不像SQL Server可以创建db级别的用户,如果你是以Excel作为OLAP客户端的话麻烦就来了,部署SSAS的服务器多数情况下是和客户端PC不在同一个域环境的,防火墙又不方便做domain trust,由此衍生的主流解决方案如下: 1. http方式访问,如果配置的web服务器是匿名验证,就没有任何权限控制可言,所有访问客户端的权限都是一样的 2. netonly runas,原理是在excel进程创建

HTTP协议与HTML表单(再谈GET与POST的区别)

HTTP的GET/POST方式有何区别?这是一个老生常谈的问题,但老生常谈的问题往往有一些让人误解的结论.本文将带您浅尝HTTP协议,在了 解HTTP协议的同时将会展示许多被人们忽视的内容.在掌握了HTTP协议的过程中我们将自然而然地了解到GET与POST的本质区别. HTTP请求 从使用者的角度看,一个HTTP请求起始于用户端浏览器上输入的一个URL地址:网页中的一个超链接:提交一个HTML表单.但本质上说,一个HTTP请求起始于用户端向HTTP服务器发送的一个URL请求. 一个标准的HTTP

WCF技术剖析之二:再谈IIS与ASP.NET管道

原文:WCF技术剖析之二:再谈IIS与ASP.NET管道 在2007年9月份,我曾经写了三篇详细介绍IIS架构和ASP.NET运行时管道的文章,深入介绍了IIS 5.x与IIS 6.0HTTP请求的监听与分发机制,以及ASP.NET运行时管道对HTTP请求的处理流程: [原创]ASP.NET Process Model之一:IIS 和 ASP.NET ISAPI [原创]ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline - Part I

Java编程思想(十八) —— 再谈反射

在Java编程思想(十五) -- 类型信息之反射和Java编程思想(十六) -- 联系JVM再谈Class,书上只用了3页就讲完了,还有讲了那么多Class的东西,接下来要从反射中怎么用,自己结合API和其他资料再写多一些. 示例:Test.java public class Test { public Test() {     }      public Test(int i) {         System.out.println(i);     } private void pri()

再谈angularJS数据绑定机制及背后原理—angularJS常见问题总结

Angular 的数据绑定采用什么机制,详述原理? 脏检查机制.阐释脏检查机制,必须先了解如下问题. 单向绑定(ng-bind) 和 双向绑定(ng-model) 的区别? ng-bind 单向数据绑定($scope -> view),用于数据显示,简写形式是 {{}}. 两者的区别在于页面没有加载完毕 {{val}} 会直接显示到页面,直到 Angular 渲染该绑定数据(这种行为有可能将 {{val}} 让用户看到):而 ng-bind 则是在 Angular 渲染完毕后将数据显示. ng-