集成之后怎么获取单店登录账号

集成了第三方系统,在第三方系统上挂载决策系统地址可以直接通过单点登录直接跳转,但是挂的链接我怎么获取不到用户名,一直获取的admin账号啊,链接是决策系统目录的预览模版链接。

image.png

image.png

FineReport 罗罗诺亚索隆 发布于 2025-3-3 15:24 (编辑于 2025-3-3 15:25)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2025-3-3 15:27

应为你的连接其实没有登录账号信息,你只是浏览器admin账号登录的

你退出下,或早或晚重启电脑后,在直接打开,就需要登录系统了。。。

建议三防系统和FR做单点登录

  • 罗罗诺亚索隆 罗罗诺亚索隆(提问者) 做了单点登录,是用的插件
    2025-03-03 15:35 
  • 罗罗诺亚索隆 罗罗诺亚索隆(提问者) 如果直接挂载FR决策系统域名,过去了就是第三方系统的账号登录的
    2025-03-03 15:36 
  • snrtuemc snrtuemc 回复 罗罗诺亚索隆(提问者) 做了单点,那就是单点配置有问题,正常是按你三方系统对应账号显示的
    2025-03-03 15:37 
最佳回答
0
HHHHH123Lv7中级互助
发布于2025-3-3 15:47

你用的哪个单点,链接怎么能用预览的呢,比如后台单点应该是

http://ip:port/工程名/decision/view/report?viewlet=WorkBook.cptx&ssoToken=xxx

https://help.fanruan.com/finereport/doc-view-4322.html

最佳回答
0
小陈PhLv3初级互助
发布于2025-3-3 17:41

在帆软FineReport中,集成单点登录(SSO)后获取当前登录用户的账号,可以通过以下几种方式实现:

一、使用系统参数

在FineReport中,您可以使用系统参数 $fine_username 来获取当前登录用户的用户名。这是最简单直接的方法,适用于大多数场景。您可以在报表设计或脚本中直接引用这个参数,以获取当前用户的登录账号。

二、开发自定义Servlet

如果您需要更灵活的处理方式,或者需要在其他系统中获取FineReport的当前登录用户,可以开发一个自定义的Servlet来获取用户信息。具体步骤如下:

开发Servlet:

创建一个Java类,继承自 HttpServlet。

在 doGet 或 doPost 方法中,使用 LoginService.getInstance().getCurrentUserNameFromRequest(request) 方法获取当前登录用户的用户名。

将用户名返回给调用方。

配置Servlet:

在FineReport的web.xml文件中配置该Servlet的映射路径。

确保Servlet能够正确部署到FineReport的服务器中。

调用Servlet:

在其他系统中,通过HTTP请求调用该Servlet的映射路径,即可获取当前登录FineReport的用户名。

三、在报表中显示当前用户

如果您需要在报表中显示当前登录用户的用户名,可以直接在报表的单元格或文本框中使用 $fine_username 参数。这样,当报表被加载时,会自动显示当前登录用户的用户名。

四、注意事项

权限控制:

确保只有授权用户才能访问获取用户信息的接口或报表。

根据业务需求,对用户信息进行适当的脱敏处理。

安全性:

不要将用户密码等敏感信息暴露在接口或报表中。

使用HTTPS协议传输用户信息,确保数据传输的安全性。

环境差异:

在开发、测试和生产环境中,确保单点登录的配置和用户信息的获取方式一致。

针对不同环境,可能需要调整接口路径或用户信息获取的逻辑。

通过以上方法,您可以轻松地在帆软FineReport中集成单点登录后获取当前登录用户的账号。根据具体业务需求,您可以选择最适合自己的实现方式。

  • 4关注人数
  • 37浏览人数
  • 最后回答于:2025-3-3 17:41
    请选择关闭问题的原因
    确定 取消
    返回顶部