.NET 权限集成

  • 文档创建者:文档助手1
  • 编辑次数:12次
  • 最近更新:Wendy123456 于 2020-06-18
  • 1. 问题描述

    .Net 系统本身有权限控制的,如何来控制报表部分呢?

    就需要跟报表权限结合在一起控制,使不同用户访问报表不同或者报表内容不同。报表权限控制在http://localhost/webroot/decision,FR 管理平台权限配置中进行设置。

    因为 .Net 有自己的认证方式,访问报表时不希望到报表这边再认证一次,因此针对 .Net 项目,报表认证方式这边多数使用 HTTP 认证(直接根据用户角色控制模板访问权限)和直接通过身份验证。

    1.1 HTTP 认证

    HTTP 认证是在 .Net 登录界面把用户名和密码传给我们报表服务器,传值方法可参考 Ajax 跨域异步单点登录 的文档,报表通过获取的用户名或密码再传到HTTP认证页面如:http://localhost/project/auth.aspx,认证页面auth.aspx通过获取的用户名或密码在.NET项目内进行判断获取角色,通过方法 Response.Write(role);输出角色给报表,这时报表就可以获取到用户角色,进而对角色设置模板访问的权限。HTTP 认证可参考文档 http 认证 设置。

    模板的权限设置,手动添加用户对用的角色,并设置角色所能访问到的模板,具体设置参考文档模板权限的控制示例

    1.2 直接通过身份验证

    不要根据用户角色判断,只需要.NET登录成功之后就可以访问所以的报表,但是有的客户又担心如果有人知道报表地址,直接访问报表,这时没有通过 .Net 项目登录的用户也是可以看到报表的,很没有安全性,所以这时就可以给报表定义一个过滤器类,判断发送到报表服务器的请求 Session 中 fine_username 是否为空,如果为空则说明用户未登录,直接跳转到 .Net 项目登录界面。具体设置可参考文档 用户身份验证 的设置。

    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!