问题:

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

这种策略对于数据库引擎来说没什么问题,但是对于分析服务来说就被完全限制住了,通常我们都是通过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. CodeForces 548D 单调栈

    Mike and Feet Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Subm ...

  2. css-display:none和visibility:hidden的不同

    摘自张鑫旭老师的博客-- display:none和visibility:hidden都能使元素隐藏,但是有明显区别,主要有以下三点: 空间占据 重排与重绘 株连性 1.空间占据. 使用display ...

  3. 【Codefoces487E/UOJ#30】Tourists Tarjan 点双连通分量 + 树链剖分

    E. Tourists time limit per test: 2 seconds memory limit per test: 256 megabytes input: standard inpu ...

  4. reGeorg v1.0内网流量转发

    reGeorg v1.0 git Usage $ reGeorgSocksProxy.py [-h] [-l] [-p] [-r] -u [-v] Socks server for reGeorg H ...

  5. TypeScript Type Compatibility(类型兼容)

    TypeScript中的类型兼容是基于结构归类的.在普通分类的相比之下,结构归类是一种纯粹用于将其成员的类型进行关联的方法.思考下面的代码: interface Named { name: strin ...

  6. Sublime Text 2 实用快捷键(Mac OS X)

    打开/前往: ⌘T 前往文件 ⌘⌃P 前往项目 ⌘R 前往 method ⌘⇧P 命令提示 ⌃G 前往行 ⌃ ` python 控制台 ——————— 编辑: ⌘L 选择行 (重复按下将下一行加入选择 ...

  7. 【Beta】第5.5次任务发布

    PM #100 日常管理&dev版宣传&设计报告管理后台. 后端 #101 完成收藏功能 完成管理员权限表的生成和接入(按位压缩权限表) 验收条件:收藏功能能够正常使用.能够区分常规用 ...

  8. CodeForces 165E Compatible Numbers(位运算 + 好题)

    wo integers x and y are compatible, if the result of their bitwise "AND" equals zero, that ...

  9. asp.net读取execl模板并填充数据,关闭进程

    <head runat="server"> <title></title> <script src="Scripts/jquer ...

  10. read name 和 read 在 Bash 中的区别

    read 带一个参数和不带参数的区别是什么,我本以为仅仅是被赋值的变量的名字不同而已: $ read name 1 $ echo "$name" 1 $ read 1 $ echo ...