问题:

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

这种策略对于数据库引擎来说没什么问题,但是对于分析服务来说就被完全限制住了,通常我们都是通过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的更多相关文章

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

    这是从 Unity教程之再谈Unity中的优化技术 这篇文章里提取出来的一部分,这篇文章让我学到了挺多可能我应该知道却还没知道的知识,写的挺好的 优化几何体   这一步主要是为了针对性能瓶颈中的”顶点 ...

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

    这篇是对angularJS的一些疑点回顾,是对目前angularJS开发的各种常见问题的整理汇总.如果对文中的题目全部了然于胸,觉得对整个angular框架应该掌握的七七八八了.希望志同道合的通知补充 ...

  3. 再谈HTTP2性能提升之背后原理—HTTP2历史解剖

    即使千辛万苦,还是把网站升级到http2了,遇坑如<phpcms v9站http升级到https加http2遇到到坑>. 因为理论相比于 HTTP 1.x ,在同时兼容 HTTP/1.1 ...

  4. 从网卡发送数据再谈TCP/IP协议—网络传输速度计算-网卡构造

    在<在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP>里面提到 单个TCP包每次打包1448字节的数据进行发送(以太网Ethernet最大的数据帧是1518字节,以 ...

  5. 沉淀再出发:再谈java的多线程机制

    沉淀再出发:再谈java的多线程机制 一.前言 自从我们学习了操作系统之后,对于其中的线程和进程就有了非常深刻的理解,但是,我们可能在C,C++语言之中尝试过这些机制,并且做过相应的实验,但是对于ja ...

  6. lesson 4 再谈继承多态,抽象类和接口

    再谈多态,抽象类和接口 上一次博客已经概念性的概述了继承多态,抽象类和接口,这次来具体的谈一谈他们之间的联系和需要注意的地方. 一.继承和多态:Inheritance (继承) & Polym ...

  7. Python学习6——再谈抽象(面对对象编程)

    1.对象魔法 在面对对象编程中,术语对象大致意味着一系列数据(属性)以及一套访问和操作这些数据的方法. 使用对象而非全局变量以及函数的原因有多个,而最重要的好处不过以下几点: 多态:可对不同类型的对象 ...

  8. 再谈Transaction——MySQL事务处理分析

    MySQL 事务基础概念/Definition of Transaction 事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个 sql 语句,这些语句要么都执行 ...

  9. Java继承之再谈构造器

    目录 Java继承之再谈构造器 初始化基类 默认构造器 带参数的构造器 子类调用父类构造器 Java继承之再谈构造器 初始化基类 前面提到,继承是子类对父类的拓展.<Thinking in Ja ...

随机推荐

  1. jquery里互为逆过程的方法

    jquery里互为逆过程的方法reverse 在jquery里,有不少互为逆过程的方法,如parent()与children(),parents()与find(),first()和last()等,这些 ...

  2. Android进程保活

    Android进程回收机制 Low Memory Killer原理 微信团队原创分享:Android版微信后台保活实战分享(网络保活篇) 微信团队原创分享:Android版微信后台保活实战分享(进程保 ...

  3. [创业中, 寻求合作] 业务方向:车联网智能终端;APP蓝牙控制汽车;APP网络远程控制汽车 (联系电话:18503086002)

    擅长领域 手机APP蓝牙控制汽车方案 手机APP网络远程控制汽车方案 手机APP与汽车车机的文件极速传输技术 车载OBD终端 (后装) 智能TBOX终端,Base on Linux,使用车规级硬件加密 ...

  4. ubuntu 15.10安装并配置samba

    1.安装samba apt-get install samba 2.vim /etc/samba/smb.conf 在文件结尾添加如下行 [share]path = /home/ihibinavail ...

  5. Python之路【第二十一篇】Django ORM详解

    ORM回顾 关系对象映射(Object Relational Mapping,简称ORM). django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表. 对于ORM框 ...

  6. Programming with Objective-C ----------Encapsulating Data

    Most Properties Are Backed by Instance Variables By default, a readwrite property will be backed by ...

  7. UIScrollView的缩放原理

    当用户在UIScrollView身上使用捏合手势时,UIScrollView会给代理发送一条消息,询问代理究竟要缩放自己内部的哪一个子控件(哪一块内容) 当用户在UIScrollView身上使用捏合手 ...

  8. Idea 开发 web项目

    1.经历 很久没有搞 web 项目了,最近一段时间搞过很多次了,但是总是在 mac 上部署失败. 2.方法: 用idea 新建一个模板的 Spring MVC 项目,部署就可以了. 3.参考: htt ...

  9. 《征服 C 指针》笔记6:练习——挑战那些复杂的声明

    应该是小试牛刀的时候了. 在 ANSI C 的标准库中,有一个 atexit()函数.如果使用这个函数,当程序正常结束的时候,可以回调一个指定的函数. atexit()的原型定义如下: int ate ...

  10. idea之resource配置

    1.问题 在idea中配置springmvc项目,用hibernate管理数据库,在web.xml中作如下配置: <!--配置hibernate数据库连接--> <listener& ...