精华内容
下载资源
问答
  • 近期由于工作需要,重新把以前丢掉的IT服务管理的报表体系与指标体系捡起来想了想,原来有过一个想法根据指标去设计一个服务管理系统,后面各种原因未能成行。现在的管理软件越来越多,越来越复杂,也越来越灵活,但...

    近期由于工作需要,重新把以前丢掉的IT服务管理的报表体系与指标体系捡起来想了想,原来有过一个想法根据指标去设计一个服务管理系统,后面各种原因未能成行。现在的管理软件越来越多,越来越复杂,也越来越灵活,但我总觉得基本都是没有灵魂的产品,在设计一个管理软件时,设计师的思想是非常重要的,无论一个软件多么灵活,但在设计师的脑中一定有一个最好的组装形态,在它的背后需要有一系列的管理取向去支撑着,这会体现出设计者的管理哲学和把握事物本质的能力,遗憾的是,许多优秀的产品的设计思路没有被传导出来,实施者们并没有理解产品的功能设计,或者是无法把这些分散的功能组织成一套管理体系,由于灵活度的问题或定制的问题,最后实施出来的东西会离设计者的思考很远,这是一个方面,另一方面,一个良好的管理软件是不可能离开良好的报表设计的,设计者在设计之时,就需要考虑好用一把怎样的镜子去照射出业务过程中的扭曲或问题,这个镜子就是报表,它可以引导业务走向设计者的设计目标。

    一谈到报表,人们马上会联想到指标,KPI,这几个概念相关之间是有关系的,许多人对这些名词并不做严谨的思考,这些词语只是一个个的从他们的嘴里蹦出来,或者当他们提问时,他们甚至根本没有考虑过这个问题意味着什么,就如苏格拉底所说的,我们首先需要定义我们的问题,所以有必要我们去把最基本的概念去理一下,比如,指标是什么,报表是什么,什么是KPI,这三者的关系是什么?。

    指标是用来分析指出某种情况的,它代表了测量者对某种状况的信息渴求,指标事实上是先于报表而存在的,所以是先有指标才会有报表,而不是先有报表后有指标,当你不明确你需要了解什么时,你的信息一定是泛滥的,所以现在许多管理软件的报表多而杂乱,尤其是定制化程度高的软件更是如此,毕竟优秀的分析者是稀缺的。如果我们需要知道一个公司需要有哪一些报表,首先需要回答需要哪一些指标去反映我们的现状,而这个问题最终会回归到管理体系的层面,一个全面而均衡的指标体系或报表体系是离不开一个良好的管理体系的,本质上这些都是业务设计或规划的问题。

    事实上我们可以有一些方法或步骤去设计我们的指标体系,即便是它目前可能不是那么好,但仍然可以建立一个大致的框架,先去收集整理现有的指标有哪一些,会形成一个清单,收集的方法可以基于不同的岗位或角色,从上到下的进行收集,一旦收集完成后,你才会发现我们现在关注的东西是多么低级或残缺,然后需要对指标进行一些分析与整理,大致步骤如下:

    • 定义指标的作用:中国的管理现状是,领导们随时会想要不同的报表,当他们想要时,他们自己未必知道自己真正想要什么,这种行为象小孩子一样,不同的是是下属变着花样的编报表满足他们,他们会玩一段时间后就丢了,然后过段时间说没有新鲜感,要换个玩法。我们可以改变一种方式,从领导的个人角度出发,你永远只能做出满足一时的报表,便你从业务本身出发,你有可能做出一个全面而均衡的报表体系,它可以满足不同的角色在不同的时间的不同信息需要,因为业务本身其实没有变化。所以我们需要严格检视每一个现有指标的意义与作用,到底这个指标要来做什么?
    • 定义指标使用者:每一个指标的检查者及承担者是谁,这是第二个需要回答的问题,指标有了之后,需要有人去分析它或查看它是多少,当你有了一个完美的指标但没有人看是没有用的,有人看,但这个指标没有任何承担者也是没有用的,指标的意义在于可以衡量我们的现状,它类似一个GPS告诉我们现在处于什么位置,所以带来行动是它的终极目的,每一个指标出来后需要定义出谁来查看它,甚至需要定义出它的查看或回顾方式,比如是以会议的形式还是肉眼浏览,就象变更成功率或发布遵守率,你需要有一个角色的人员去关注这二个指标,分析这二个指标的人得清楚谁需要为这二个指标的改进负责,当每月需要进行指标分析,可以责成承担者解释原因或采取行动。
    • 定义告警值:当指标达到多少时,就必须采取行动进行干预,你不能等到油箱的油烧完了,才告警,这时车都不动了。此时我们会发现我们不能把一些基于的事实数值当成指标,比如事件数量,我们需要把事件增长率,或事件下降率当成指标,绝对的事件数量可能是没有意义的,一个大型系统的事件量每天可能几十个,一个小型的事件量才几个,所以对一个大型系统而是言一天增长或下降几个事件很正常,此时用事件增长率或下降率做指标时,这样无论大型还是小型系统都可以拉到一个平面上做分析,这样可以计算出平均系统事件增长率了或做排序了。事件下降率的指标可以强制管理者分析进步的原因与机理,所以指标不仅仅是用来关注负面的。
    • 定义测量范围:同一种指标可能会因为测量范围不同而出现多个,事实上这是一个指标分解的过程了,比如当定义一个变更成功率的指标时,而公司总体而言会有一个变更成功率,但分解时,会得出每一个系统或服务的变更成功率,此时背负指标的人员与指标检查者会有所不同。
    • 定义数据来源:一些看上去很好的指标,最后很可能是无法采集的,因为它没有确切的数据来源,我们需要弄明白每一个指标的基础数据取自何方,是哪一些系统或是哪一张表单。
    • 定义数据信息:确定指标由哪一些基础数据构成,确定它的所有列或字段,比如平均事件响应时间这个指标,可能包括的字段有:月份、服务名称、事件类型、平均事件响应时间这几个字段。
    • 定义计算方法:确定指标的计算公式,比如通常所说的发布遵守率,大家都知道用总发布遵守数量除以总发布数,但总发布遵守数是否包括提前发布的数量?或者是否包括紧急发布?总发布数这个分母到底从哪一时间点起算,如果算每月的发布遵守率的话,总发布数是本月所有发布的总数吗?是否要剔除紧急发布?是否剔除发布失败数?是否剔除提前发布数?
    • 定义测量频率:指标设计好后,必须确定多久进行测量一次,如果这个测量频率定好后,你会发现你的日例会、周例会、月例会、季度例会、年度总结会的核心内容基本上都定义好了。
    • 是否纳入KPI:指标成百上千,但在一个历史时期中,人们的精力总是有限的,我们只能把行动放在最需要关注的状况上,所以每一年我们可以从指标集中选取出一些纳入到KPI之中,当状况改善后,我们又转向另外一些指标,这些就形成一个PDCA的过程。

    上面说的几个步骤,事实上可以形成一个表格,形成一个公司的指标库,然后每年进化,事实上在设计指标的过程中,由于定义了数据内容与计算方法,报表的产生是自然而然的,一定要设计好分析之后的行动或产出,并形成记录,报表不是用来愉悦领导的,我们要想好当一个人员看完它之后应做什么,这个做的动作不应是由由这个个体来临时决定的,而是要提前设计并约定,这样才把管理者锁在管理体系之中,而不是让他们成为体系最大的破坏者。事实上当把指标的阀值设定好后,指标异常是无须用肉眼去分析看查看的,当一个事件的增长率突破了20%50个的绝对数量时,是完全可以用逻辑的计算方法得出异常的原因分布的,你可以把利用事件的类型、申报部门、事件等级、事件时间、系统服务、关联的配置项属性等进行逻辑的穷尽演绎,所以所谓的图形钻取事实上意义不大,因为它依据人脑来做逻辑的演绎,而一个表单的字较多时,你不可能用肉眼把每一个种逻辑组合全部查看一遍,你的脑子也不可能记得清楚这些逻辑组合,这个层面就开始进入了BI的层面。

      另一个值得一提的是指标的均衡性,当指标体系本身不全面时,一昧的以运动方式去追求单一指标,会带来一系列的恶果与虚假现象,所以指标有时是一个与人性博弈的过程,比如当我们非常追求事件解决率时,可能会带来满意度的下降,当我们非常追求事件响应时间时,员工会有单就先接单再说,这样事件的处理时长会大大拉长,当你关注事件的处理时长,他们可能又会把事件挂起(事件等待的时间一般不计入事件处理时间),这些类似的情况很多,这也是为什么指标要成体系的一个原因,就如人体一样,你片面的追求体重指标,可能牺牲了其它健康指标。你片面追求GDP指标,人民的幸福感却不断下降,这些道理是类似的。

    说到一个IT服务公司或一个内部IT部门的指标或报表体系,往往有人会绕不开SLA,许多人认为SLA报表就是报表体系了,但事实上SLA只占到报表体系中的很小一块,一个完整的指标或报表体系是要面向整个业务过程的,要了解一个事物,必须通过不同的切面去剖析,了解一个人,你需要知道他的外貌,他的性格,他的职业,他的生活,他的爱好等等切面,对于IT服务或IT运维而言,可以用几个不同的面向去解构它,每一个面向都是一种管理角色去关注它,这种解构的原则要做到完全穷尽、相互独立,以下分别说明:

    1. 面向服务:首先需要关注的是服务,这是很重要的一个切面,这个层面的指标或报表以服务经理的角色为主,服务的指标可以分为结果类与过程类,结果类又可分为SLA类、OLA类、UC类,这主要是指契约类的承诺达成情况,或者说是服务质量结果,比如象电话接通率、事件响应时间、事件解决率、事件满意度、系统可用性这些跟SLA相关的,跟OLA相关的象发布的遵守率、故障解决时长、事件响应时长等等。过程类主要是对服务过程本身的监督或质量检查,比如事件增长率、投诉事件数、剩余事件比率,这些指标的设计目的是提前感知、测量服务的变化情况,提前预防质量问题。
    2. 面向对象:对于IT服务而言,最基本是要保障IT架构的正常,有了这一层的保障,IT服务不会出现大的问题,而IT架构其实就是由一个个的对象所组成,所以需要有一个从对象的视角出发的指标来监控IT架构的状况。所以既然有一个角色负责服务,同样需要有一个角色负责架构,这一层的指标源数据与监控系统有比较多的关系,对象类的指标可以根据不同分类进行展开,这个分类可以与CMDBCI分类为准,比如主机类、网络类、安全类、软件类、数据库、中间件、存储类、动力类,每一个分类都根据各自的特性再行分细分,比较主机可以分为性能、状态、故障这几个方面的指标,比如主机类的性能主要是指CPU与内存、IO的负载情况,状态主要是目前的机器的启用率与健康率,故障主要是指目前机器的故障信息。
    3. 面向流程:IT服务的三权分立,前面讲了服务层面与架构层面,还有一个比较重要的层面是流程层面,这个层面在许多公司与服务层面没有切分清楚,造成了管理缺位,服务经理主要是管理实际的IT服务的,而流程经理主要是管理流程运行的,两者的关注点是截然不同的,流程的指标可以根据流程进行切分,或者根据ITILV3的生命周期切分后再根据流程切分,比如服务运营就包括:服务台管理、事件管理、事故管理、请求管理、访问管理等,服务强管理的指标可能包括:首问解决率、事件错派率、事件回访率、话术错误率。事件管理可能包括:一线解决率、二线平均响应时间、三线平均响应时间、事件平均解决时长、事件关闭失败率、变更导致的事件比率等等。
    4. 面向人员:在组织的层面,主要关注单位与个人的指标,这主要是由管理者与员工背负的指标,可以用来做绩效考核,比如部门层面会有一些象员工流失率、服务满意度等指标,个人的指标会为事件满意度、关单及时率与一些行为绩效方面的指标。
    5. 面向财务:针对财务的层面,主要关注营收的指标分析、与成本的指标分析,以及预算的指标分析,

     

    以上的5个方面构成一个指标框架及报表框架,事实如果做服务的门户,这些指标就完全可以支撑了,需要做的是基于组织的当前情况,利用前面说的方法去完善这个框架内部的指标细项。指标的测量本身会带来许多有意思的现象,这有些象量子力学的概念,你的观察本身会改变事物本身,所以即便是你什么行动也不做,只是每月的把相关有人员拉在一起查看指标结果,业务本身的运行也一定会改变,一旦你建立自己的指标体系,真正开始PDCA,你会发现它的威力非常巨大,可惜的是每一个公司都在找标杆,不愿自己埋头独立思考与作业,这就造成大部份公司的管理体系或报表都比较糟糕,其实上在中国一个具有一定IT规模与基础的公司,只需要花一两季度的时间就完全可以设计出一个中国一流的指标及报表体系,因为大家都在找别人的东西,不愿抬头想,不愿低头干,标杆其实就是提前走一步的人建立的。


    展开全文
  • 今天有一位朋友问起有关Web报表软件的体系结构和性能问题,解释如下:  Web报表软件总的讲有三种体系结构。一种是纯Java报表,以润乾为代表;一种是控件方式,以数巨为代表;另一种是独立服务器方式的报表软件,以...
    今天有一位朋友问起有关Web报表软件的体系结构和性能问题,解释如下:
    

     Web报表软件总的讲有三种体系结构。一种是纯Java报表,以润乾为代表;一种是控件方式,以数巨为代表;另一种是独立服务器方式的报表软件,以Crystal Report为代表。

    1、控件方式:这种方式在浏览器端要安装一个ActiveX控件,在服务器端只负责取数据,报表的计算与生成都是在控件中进行的。采用这种方式的原因是它的报表功能往往都是采用Delphi实现的,包括许多产品都是采用相同的第三方组件。

      关于控件方式,这篇文章可以参考:http://blog.9zi.com/post/1/205

      控件方式的缺点在于:

      1)部署:一个控件,要完成别人报表服务器所实现的大部分功能,体积可想而之。功能越强,控件的体积越大。这对于部署是一个很大的负担。不仅如此,而且,当报表系统升级时,用户都必须重新安装控件,Web报表软件的B/S结构在部署方面的优势荡然无存。(其实这种方式本身就是伪B/S)

      2)性能:在PC端计算与在服务器端计算,对小报表可能差别不大,但对于大报表,显然差异非常大。并且,如果一个Web报表系统有多个用户都要使用,服务器方式所可以采用的定时计算、缓存等等都无法发挥作用。

      所以,控件方式一般只适用于简单、小型报表。这里的简单,不仅是报表的样式简单,也包括计算量、报表规模上都比较简单。

    2、独立服务器:这种方式安装一个独立(逻辑上)的报表服务器。它避免了控件方式的Web报表软件部署繁琐、升级不便的缺点,能够通过服务器有效地管理报表,很好地处理性能问题。但它部署起来也是比较麻烦的,实际很多这类Web报表软件产品也很难真正做到跨平台。尤其是涉及集群、连接池等问题,它就无法提供良好的可扩展性。

    3、Java报表软件:首先它可以轻松实现Web报表的跨平台部署。对于ASP,.NET等非Java应用,它可以以报表服务器的方式提供Web报表服务,这时这种Web报表工具的工作方法是与Crystal Report之类的产品类似的,具有独立服务器相同的优点与缺点(这里所说的独立服务器是指逻辑上的,物理上仍然可以与其他服务器安装在一起)。而对于Java应用,则可以以类包的方式将报表软件嵌入到J2EE应用架构中,与应用系统形成无缝衔接。这时,它的优势就更加明显:

      1) Java应用服务器的所有提高性能的手段,都可以在Web报表软件上充分发挥作用,如计算能力更强的服务器(对控件方式服务器起不了多大作用,独立报表服务器则很多难以在UNIX服务器上部署),负载均衡,连接池等等。

      2) Web报表软件可以与应用程序更紧密地衔接,被应用程序更灵活地使用。

      参考文章:Java环境下的部署 - 充分发挥100%Java报表工具的优势

    有人说,你不要总拿Unix说事,实际应用中很多应用服务器是采用PC Server的。确实是这样,但是(姑且不说许多Web报表工具并不能很好地支持Linux)不要忘记应用服务器层采用PC Server的原因是在于在这一层比较适合采用水平方向的扩展,即使用Cluster和负载均衡技术。对于Java报表软件,这一点太容易了,直接和应用部署在一起就可以,可以说是天生的,但对于独立服务器,这个就很麻烦了。

    展开全文
  • 而服务器报表在设计阶段必须绑定数据源,所以,考虑采取这样的方式来实现RTS报表体系:用服务器报表来做设计,用ReportView控件来做展示,即用ReportView控件来展示Rdl报表。2 验证过程n 用SQL Ser

    1 引言

    由于客户端报表(Rdlc)在设计时可以不绑定具体的数据源(可以在加载的时候再动态绑定),因此无法从Rdlc文件中获取到具体的数据源信息(即具体的SQL脚本)。而服务器报表在设计阶段必须绑定数据源,所以,考虑采取这样的方式来实现RTS报表体系:用服务器报表来做设计,用ReportView控件来做展示,即用ReportView控件来展示Rdl报表。

    2 验证过程

    n  SQL Server Business Intelligence Development Studio设计一张新的服务器报表(通过新建报表向导来完成)

     

     

    n  XML编辑器打开刚才新增的报表,重点注意下面的内容

     

    n  接下来,新建一个WinForm项目,用ReportView控件来展示新增的报表(RDL),部分代码如下

     

    3结果

    通过验证,用ReportView控件来展示服务器报表的方式是可行的。而且不需要改变原来RDL服务器报表的任何东西(后缀名也不需要改变)

    4 其他

             RDL服务器报表支持多数据集展示(一个数据集对应一个表),支持存储过程

     

     

             ReportVieW控件展示的时候,我们需要对应为每个数据集绑定具体的数据源。

     

     

    展开全文
  • 防范IT运维管理的风险”为目标的基于ITIL构建IT服务管理体系的几个步骤一一做了介绍,对事件管理、自助服务管理、变更管理、配置及资产管理、报表等要点问题进行了初步探索,最后总结了项目实施的成果,给出了基于...
  • 博远集团报表系统,根据博远软件服务的集团客户核算体系建立,依托客户使用的信息系统,如用友软件系统为基础,通过报表模板建立,数据提取,数据调整,数据审核,完成从单独
  • 在Power BI 身份认证体系上,我们默认使用AD作为认证体系,AD即活动目录体系来说,是微软整个平台的核心,可以说是倚天剑。默认情况下, Power BI 报表服务器 接受指定 Negotiate 或 NTLM 身份验证的请求。 如果部.....

    纵有倚天剑还要屠龙刀,实现Power BI报表服务器自定义认证

    概述

    在Power BI报表服务器身份认证体系上,我们默认使用AD作为认证体系,AD即活动目录体系来说,是微软整个平台的核心,可以说是倚天剑。默认情况下, Power BI 报表服务器 接受指定 Negotiate 或 NTLM 身份验证的请求。 如果部署中包括使用这些安全提供程序的客户端应用程序和浏览器,则可以使用这些默认值,而无需附加配置。 如果要使用不同的安全提供程序来获取 Windows 集成安全性(例如,如果要直接使用 Kerberos)或者修改了默认值并且要还原原始设置。

    但是很多用户不使用AD作为验证,希望用自己的认证程序来进行验证,比如使用数据库用户名和密码进行验证。 Power BI 报表服务器也支持自定义安全认证,这是一把屠龙刀,实现你对验证的无限需求 。

    Power BI 报表服务器提供了可扩展的体系结构,该体系结构允许您插入自定义的或基于窗体的身份验证模块。 如果部署要求不包含 Windows 集成安全性或基本身份验证,则可考虑实现自定义的身份验证扩展插件。 使用自定义身份验证的最常见情形是支持对 Web 应用程序的 Internet 或 Extranet 访问。 使用自定义身份验证扩展插件替换默认的 Windows 身份验证扩展插件,可更好地控制如何授予外部用户访问报表服务器的权限。

    利用 Power BI 报表服务器 安全扩展插件,可以对用户或组进行身份验证和授权;这样,不同的用户便可登录至同一台报表服务器,并基于他们的标识执行不同的任务或操作。 默认情况下,Power BI 报表服务器 使用基于 Windows 的身份验证扩展插件,该插件使用 Windows 帐户协议来验证声明在系统上拥有帐户的用户的标识。 Power BI 报表服务器 使用基于角色的安全系统为用户授权。 Power BI 报表服务器 基于角色的安全模型与其他技术的基于角色的安全模型类似。

    因为安全扩展插件基于可扩展的开放式 API,所以您可以在 Power BI 报表服务器 中创建新的身份验证和授权扩展插件。 下面的示例为使用基于窗体的身份验证和授权的典型安全扩展插件实现:

    Reporting Services 安全扩展插件进程

    如图所示,身份验证和授权将按以下所示发生:

    1. 用户尝试使用 URL 访问 Web 门户,然后被重定向至为客户端应用程序收集用户凭据的窗体。
    2. 用户向该窗体提交凭据。
    3. 用户凭据通过 LogonUser 方法提交至 Reporting Services Web 服务。
    4. Web 服务调用客户提供的安全扩展插件,并验证相应的用户名称和密码是否存在于自定义安全机构中。
    5. 进行身份验证之后,Web 服务创建一个身份验证票证(称为“cookie”),管理票证,然后为 Web 门户的主页验证用户角色。
    6. Web 服务将此 cookie 返回至浏览器,然后在 Web 门户中显示相应的用户界面。
    7. 对用户进行身份验证之后,在 HTTP 标头中传送此 cookie 的同时浏览器向 Web 门户发出请求。 这些请求用于响应 Web 门户中的用户操作。
    8. 此 cookie 在 HTTP 标头中与请求的用户操作一起传送至 Web 服务。
    9. 对此 cookie 进行验证,如果有效,则报表服务器从报表服务器数据库中返回安全描述符及与请求的操作有关的其他信息。
    10. 如果此 cookie 有效,报表服务器将调用安全扩展插件检查用户是否有权执行特定操作。
    11. 如果用户已有相应权限,则报表服务器将执行请求的操作,并将控制权返回调用方。
    12. 用户经过身份验证后,报表服务器进行 URL 访问都会使用此 cookie。 此 cookie 在 HTTP 标头中传送。
    13. 用户继续请求对报表服务器的操作,直到会话结束为止。

    如何实现

    Power BI 报表服务器 引入了一个新的 Web 门户以托管新的 Odata API,并也托管新的报表工作负载,例如移动报表和 KPI。 此新门户依赖于更新的技术,并通过在单独的进程中运行与熟悉的 ReportingServicesService 分隔开来。 此进程不是 ASP.NET 托管的应用程序,因此中断了现有自定义安全扩展插件中的假设。 此外,自定义安全扩展插件的当前接口不允许传入任何外部上下文,留给实现者唯一的选择来检查熟知的全局 ASP.NET 对象,这要求对接口进行一些更改。

    引入了可实现的一个新接口,此接口提供一个 IRSRequestContext,提供扩展插件用于做出与身份验证相关决定的更常见属性。

    在以前的版本中,报表管理器位于前端,并且可以使用其自定义登录页面进行配置。 在 Reporting Services 2016 中,仅支持 reportserver 托管的一个页面,并且应对两个应用程序都进行身份验证。

    大多数泛型示例访问 HttpContext.Current 来读取如标头和 Cookie 等请求的信息。 为了使扩展插件能够做出相同的决策,我们在提供请求信息的扩展中引入了一个新方法,并在从门户进行身份验证时调用该方法。

    扩展插件必须实现 IAuthenticationExtension2 接口才能利用此方法。 扩展插件需要实现 GetUserInfo 方法的两个版本,正如 reportserver 上下文所调用的方法,以及其他在 webhost 进程中所使用的方法。 以下示例展示了此门户的一个简单实现,其中使用了 reportserver 解析的标识。

    public void GetUserInfo(IRSRequestContext requestContext, out IIdentity userIdentity, out IntPtr userId)
    {
        userIdentity = null;
        if (requestContext.User != null)
        {
            userIdentity = requestContext.User;
        }
    
        // initialize a pointer to the current user id to zero
        userId = IntPtr.Zero;
    }
    

    配置部署和Demo

    需要实现自定义扩展认证,需要有几个步骤。在github上有一个demo https://github.com/Microsoft/Reporting-Services/tree/master/CustomSecuritySample

    如果你安装demo的步骤,数据库和Power BI 服务器在一个服务器上,那么基本上很简单就搞定,我在进行测试中遇到了几个问题,给大家分享下。

    1、先下载此Demo 打开后,可以进行编译,如果不能通过,可能需要添加 Microsoft.ReportingServices.Interfaces 这可以在 C:\Program Files\Microsoft Power BI Report Server\PBIRS\PowerBI 目录下找到 Microsoft.ReportingServices.Interfaces.DLL进行引用
    在这里插入图片描述

    2、对于需要对身份验证 Cookie 进行解密的窗体身份验证,需要使用相同的计算机密钥和解密算法对这两个进程进行配置。 所以我们需要生成一个强密钥和使用一些工具来生成密钥,例如 Internet Information Services 管理器 (IIS)。 在 Internet 上可以找到其他工具。

    首先,使用 Visual Studio 开发人员命令提示符 来进行创建密钥

    在这里插入图片描述

    打开后,跳转到需要的目录,如cd c:\test ,然后输入: sn -k SampleKey.snk

    在这里插入图片描述

    生成的samplekey.snk需要和程序关联,点击应用程序的属性,选择签名,选择强签名密钥文件为刚生成的samplekey.snk

    在这里插入图片描述

    3、生成密钥,生成密钥理论有很多方法实现,我的这台服务器安装了IIS 我使用IIS进行生成密钥,打开IIS 选择计算机密钥。

    在这里插入图片描述

    点击后选择 验证方法AES,加密方法AES。生成的密钥记录下来备用。

    在这里插入图片描述

    4、编译项目。生成相应的文件。部署项目:

    • Copy the Logon.aspx 部署到 C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer 目录
    • Copy Microsoft.Samples.ReportingServices.CustomSecurity.dll and Microsoft.Samples.ReportingServices.CustomSecurity.pdb to the C:\Program Files\Microsoft Power BI Report Server\PBIRS\ \ReportServer\bin 目录
    • Copy Microsoft.Samples.ReportingServices.CustomSecurity.dll and Microsoft.Samples.ReportingServices.CustomSecurity.pdb to the C:\Program Files\Microsoft Power BI Report Server\PBIRS\ \Portal` 目录.
    • Copy Microsoft.Samples.ReportingServices.CustomSecurity.dll and Microsoft.Samples.ReportingServices.CustomSecurity.pdb to the C:\Program Files\Microsoft Power BI Report Server\PBIRS\ \PowerBI` 目录.

    5、修改 C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer\ RSReportServer.config

    • <AuthenticationTypes> 节下修改为

      <Authentication>
      	<AuthenticationTypes> 
      		<Custom/>
      	</AuthenticationTypes>
      	<RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel>
      	<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>
      	<EnableAuthPersistence>true</EnableAuthPersistence>
      </Authentication>
      

    在元素中找到<Security>``<Authentication>``<Extensions> 修改如下: 这里的username是管理员的名称,比如我这里设置为maxbiuser

    <Security>
    	<Extension Name="Forms" Type="Microsoft.Samples.ReportingServices.CustomSecurity.Authorization, Microsoft.Samples.ReportingServices.CustomSecurity" >
    	<Configuration>
    		<AdminConfiguration>
    			<UserName>maxbiuser</UserName>
    		</AdminConfiguration>
    	</Configuration>
    	</Extension>
    </Security>
    
    <Authentication>
    	<Extension Name="Forms" Type="Microsoft.Samples.ReportingServices.CustomSecurity.AuthenticationExtension,Microsoft.Samples.ReportingServices.CustomSecurity" />
    </Authentication> 
    

    下面加入:

    <MachineKey ValidationKey="[YOUR KEY]" DecryptionKey="[YOUR KEY]" Validation="AES" Decryption="AES" />
    
    

    下加入,配置直通 cookie

    <UI>
       <CustomAuthenticationUI>
          <PassThroughCookies>
             <PassThroughCookie>sqlAuthCookie</PassThroughCookie>
          </PassThroughCookies>
       </CustomAuthenticationUI>
    </UI>
    

    6、修改 rssrvpolicy. config 文件

    • 需要为自定义安全扩展添加一个代码组, 该代码组将授予您的扩展的 fulltrust 权限。为此, 可以将代码组添加到 rssrvpoligy. config 文件中。

    • 打开位于目录中的 rssrvpolicy. config 文件。 C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer`

    • 在安全策略文件中的现有代码组之后添加以下元素, 如下所示, 然后添加一个条目, 如下所示, 以 rssrvpolicy. config。请确保根据您的 reportserver 安装目录更改以下路径:<CodeGroup>

      <CodeGroup
      	class="UnionCodeGroup"
      	version="1"
      	Name="SecurityExtensionCodeGroup" 
      	Description="Code group for the sample security extension"
      	PermissionSetName="FullTrust">
      <IMembershipCondition 
      	class="UrlMembershipCondition"
      	version="1"
      	Url="C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer\bin\Microsoft.Samples.ReportingServices.CustomSecurity.dll"/>
      </CodeGroup>
      

    7、修改报表服务器的 web. config 文件

    在文本编辑器中打开 web. config 文件。默认情况下, 该文件位于目录中。 C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer`

    • 找到该元素, 并将 “模拟” 属性设置为 false。<identity>

      <identity impersonate="false" />
      
    • 找到该元素, 并将 mode 属性更改为窗体。此外, 将以下元素添加为元素的子元素, 并设置 loginurl、名称、超时和路径属性, 如下所示:<authentication>``<forms>``<authentication>

      <authentication mode="Forms">
      	<forms loginUrl="logon.aspx" name="sqlAuthCookie" timeout="60" path="/"></forms>
      </authentication> 
      
    • 直接在元素之后添加以下元素。<authorization>``<authentication>

      <authorization> 
      <deny users="?" />
      </authorization> 
      

    这将拒绝未经身份验证的用户访问报表服务器的权限。该元素以前建立的 loginurl 属性将未经身份验证的请求重定向到 logon. aspx 页。

    8、使用CustomSecuritySample\Setup下面 CreateUserStore.sql 创建用户表

    排错

    部署完成后,重启Power BI 服务器服务。访问我的报表地址是81端口:http://maxtestweb:81/Reports

    会跳转到 http://maxtestweb:81/ReportServer/logon.aspx?ReturnUrl=/ReportServer/localredirect?url=%2freports

    但是我在访问的时候报错,出现500错误什么的,检查完成一遍后,还是报错。 检查日志发现:

    在这里插入图片描述

    runtimeBroker没有权限。 打开注册表,找到appid,然后右键权限,将所有者改为管理员。

    在这里插入图片描述
    在这里插入图片描述
    然后使用组件服务,找到 runtimeBroker,点击属性 权限添加相应的用户权限。
    在这里插入图片描述
    在这里插入图片描述
    重启服务器,然后刷新,看到登录界面。终于看到了希望。点击注册用户,报告无法链接到数据库服务器。

    在这里插入图片描述

    代码里面AuthenticationUtilities.cs可以看到:

    在这里插入图片描述

    sqlconnection使用的参数是:Properties.Settings.Default.Database_ConnectionString 这诡异的地方。这里自己改到仔细的数据库服务器。

    改完后登录后的效果。

    在这里插入图片描述

    总结

    以上方法实现了自定义认证,因为可以自定义了既可以实现各种验证方法,比如多因子。过程看起来比较繁琐,还是比较容易实现的。AuthenticationUtilities.cs和login.cs可以实现更多的内容。

    有问题大家一起谈谈

    作者简介: Max Shen(阿特),为了成为数据专家而努力,万一实现了呢!有多年的系统运维,数据库运维经验。近20年的IT从业经验,在微软有超过10年的工作经验。对数据库运维调优,排错,有独到能力。电话微信18628037379,maxcloud@outlook.com
    
    展开全文
  • 这得益于易客报表绑定的快乐服务器,那是一种科学的知识库体系。 6. 分布式管理。当易客报表布置到异地多个环境的时候,如何统一、便捷地管理和维护各个环境中的报表模板?易客报表支持分布式管理。您还可以免费注册...
  • 这得益于易客报表绑定的快乐服务器,那是一种科学的知识库体系。 7. 分布式管理。当易客报表布置到异地多个环境的时候,如何统一、便捷地管理和维护各个环境中的报表模板?易客报表支持分布式管理。您还可以免费...
  • 2.4 创建和使用报表

    2010-10-13 22:26:03
    创建基于多维数据集的报表可以对数据立方进行全方位地钻取,按照第1章对商业智能的认识可知道,这是商业智能的重要表现。...表应该是属于BI体系中的前端展现部分,需要使用SSRS报表服务来实现。...
  • 功能依托于robotframework根据代码注释,自动生成测试库自动搜索测试用例或指定测试用例文件运行commit触发测试和周期性定时(按天/小时)测试测试报表统计(区分环境)企业微信通知测试结果 在此之前,大家要去...
  • 目标是全面整合各类信息资源,积极开展产品研发和服务创新,为各类企业事业单位、政府有关机构提供信用服务,通过市场化机制促进信用体系建设,优化经济社会运行环境,健全普惠金融体系,维护金融安全稳定,促进经济...
  • PB6.5是客户/服务器体系结构下的优秀前台开发工具,具有极强的数据处理能力,是广大程序员开发数据库产品的首选利器。但是在实际开发MIS系统时,我们对它的报表输出能力深感欠缺。PB的报表画板和DataWindow同出一辙...
  • 云平台监控报表系统

    千次阅读 2014-05-06 08:59:31
    综合利用Nagios、Ganglia和Splunk搭建起的云计算平台监控体系,具备错误报警、性能调优、问题追踪和自动生成运维报表的功能。有了这套系统,就可轻松管理Hadoop/HBase云计算平台。 云计算早已不是停留在概念阶段...
  • BI平台:怎么进行报表的开发...BI平台=数据仓库+报表/OLAP服务 数据仓库最重要的环节是数据分层 3、报表生产的主要问题 数据工程问题 ​ 数据准确性问题、数据分层问题、数据及时生产问题、错误数据的修复问
  • 看看国内市场林林总总的报表软件,哪一个不在模仿水晶报表之流的架构,哪一家能逃出报表设计器、报表服务报表展示构件的窠臼?人家的东西并没有什么不好,体也是普世的。可是谁让我们有几千年的历史呢,悠久的酱缸...
  • V7.2前台系统包括客房预订、客人接待、收银管理、夜间稽核、客房管家、问讯留言、礼宾服务、公关销售、报表系统、基本设置、系统管理、外围接口、常用工具等功能模块。 酒店前台管理是一个流程复杂、实时性强的系统...
  • Coldfusion在微软强大.net体系和JAVA体系下还能生存的一种应用服务器技术,喜欢它,是因为Flash的缘故。 本文写写在CF下如何产生报表,是简单那种,俺学CF不过5天,太深奥的也不会。
  • Reporting Service 2012 体系结构 MSDN相关内容请参见:http://msdn.microsoft.com/zh-cn/library/ms157231%28v=sql.110%29.aspx 由于Reporting Service 2012的报表服务器实例支持两种部署模式:l 本机模式(包括...
  • 可以通过两个不同的过程为 Reporting ... SQL Server 2012 版本中引入的基于较新的 SharePoint 服务体系结构利用可为每个 Reporting Services 服务应用程序配置的设置。 较旧的体系结构利用单一站点级别的设置。
  • 一款可以帮助企业建立和运行ISO9001质量管理体系的Web版管理软件,可以安装到局域网或互联网云服务器上,支持自定义表单、流程、报表和版式,支持企业微信,简约易用可任意扩展!
  • 初期这套基于开源组件的体系有力支撑了数据统计、业务报表、风控等业务需求。但随着每天处理数据量的增长,积累的历史数据越来越多,来自其他部门同事的需求越来越复杂,自建体系逐渐暴露出了能力上的短板。同时期,...
  • **数据分析体系**能**更有效率**的支持业务,把数据报表、专题报表串起来,有层次展现,应用到业务中。**有节奏、有主次、有顺序的展现**数据。 **搭建数据分析体系的基本思路**: 明确服务对象即针对的需求...
  • 用于扩展SQL服务器报表服务的多个网前端是一种流行的部署体系结构,它将SQL服务器企业版实例与”始终在线”可用性组相结合。 最近发布的具有SSRS支持的视窗服务器容器吸引了人们对SSRS部署和横向扩展新方法的关注。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 386
精华内容 154
关键字:

服务报表体系