博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在报表权限中使用session
阅读量:5944 次
发布时间:2019-06-19

本文共 650 字,大约阅读时间需要 2 分钟。

hot3.png

1. 问题描述

权限中使用session,一般是用来存放用户名和密码,下面以报表开发工具FineReport为例,分两种情况介绍用户名和密码的保存:

2. 同一应用下session

由于session中能够保存key,因此在权限中如果报表工程与自己的工程在一个应用下面,即session相同,此时将用户名与密码存放于session中,在浏览器端将外界输入的用户名和密码保存至session,报表服务器便可以获得用户名与密码,去相应的地址匹配,匹配成功,通过权限关卡,匹配失败,跳转登录页面。

3. 不同应用下session

不在同一个应用环境下,session不能直接获取到,要实现单点登录的效果,在项目登陆界面把用户名和密码传给报表服务器通过fs_load&cmd=sso方法进行验证,验证成功则把用户名和密码及角色以session方式保存在报表服务器端,此时的应用session和报表session,不是同一个session,相对独立,互不影响。

跨域项目和跨语言项目都属于不同应用下的工程,此时session是不能共用,不是同一个session,所以在注销用户的同时触发一下报表方法:/WebReport/ReportServer?op=fs_load&cmd=ssout,则可使用户session同步的效果。权限中session的定义及注销可参考Finereport帮助文档:跨域单点登录

转载于:https://my.oschina.net/jiuyuenihao/blog/512218

你可能感兴趣的文章
【Windows】字符串处理
查看>>
Spring(十八):Spring AOP(二):通知(前置、后置、返回、异常、环绕)
查看>>
CentOS使用chkconfig增加开机服务提示service xxx does not support chkconfig的问题解决
查看>>
微服务+:服务契约治理
查看>>
save
查看>>
Android DrawLayout + ListView 的使用(一)
查看>>
clear session on close of browser jsp
查看>>
asp.net mvc Post上传文件大小限制 (转载)
查看>>
关于吃掉物理的二次聚合无法实现的需要之旁门左道实现法
查看>>
mysql出现unblock with 'mysqladmin flush-hosts'
查看>>
oracle exp/imp命令详解
查看>>
开发安全的 API 所需要核对的清单
查看>>
Mycat源码中的单例模式
查看>>
WPF Dispatcher介绍
查看>>
fiddler展示serverIP方法
查看>>
C语言中的随意跳转
查看>>
006-spring cloud gateway-GatewayAutoConfiguration核心配置-GatewayProperties初始化加载、Route初始化加载...
查看>>
WPF中如何将ListViewItem双击事件绑定到Command
查看>>
《聚散两依依》
查看>>
小tips:你不知道的 npm init
查看>>