已经投票
报表集成 >> 管理报表应用 >> 权限配置 >> 权限认证 >> 用户身份验证 >> 直接通过身份验证

直接通过身份验证

顶( )
最后更新日期: 人发表评论 (点击查看)
不进行身份验证,权限设置,直接通过身份验证,用户认证,角色权限验证,用户权限验验证
1. 问题描述
对于ERP、OA、CRM等项目或系统集成时,实现单点登陆,即登录他们自己的系统,便是对用户信息进行了认证,不需用户在FineReport服务端再认证,此时可以使用直接通过身份认证,过程中只需将用户对应的角色传递给报表服务即可。
2. 实现原理
在单点登录系统中,未登录用户通过任意一个入口访问系统时,转到登录界面先进行登录,系统验证用户名、密码匹配的话,就将该用户的角色信息保存至session中,且将报表服务器端是否认证成功的标志设置为true。此时该用户访问报表时,便不需要再次登录。
3. 实现步骤
3.1 管理平台设置
打开管理平台查看权限配置>身份验证方式配置是否默认选择直接通过身份验证方式。
在同一项目环境下,可获取到角色:fr_authority,所以直接在详细权限配置>模板访问权限设置>选择验证用户名密码及用户角色手动添加角色及选择对应可访问的模板,跟session获取的值进行匹配就可以访问到对应的模板。具体设置可参考模板访问权限配置文档。对于FineServer访问权限配置,即访问op=fs的权限,可参考FineServer访问权限配置文档。
3.2 Session传值
对于java系统,有独立的认证方式,在集成项目系统里,通过用户名和密码验证成功获取到角色,可以把角色放到Session里传到报表服务器,或把用户名、密码和角色都放到Session里传到报表服务器,报表服务器就可以获取到相应的值。下面分别介绍两种传Session的方法。
例如:如下代码定义Session传值角色,放到验证用户名和密码的地方:
在模板里面,希望显示哪个用户登陆或修改用户名和密码,此时就需要把用户名和密码也获取到,这时同样可以通过session传值,把用户名和密码放到session里面,在报表服务器就可以获取到值。使用如下代码,放到验证用户名和密码的地方:
注:在使用如上Session传值时,需要导入包如下:
对于非java系统,角色则通过form表单传值,其他操作同上。
 
 
 
 
   
文明发言,用心评论
 
应用此篇文章,您:
不费力
研究了一会
琢磨了好久
 
查看全部条>>
返回顶部
Copyright©2019 帆软软件有限公司
苏ICP备18065767号-3