1. 描述
实际情况中,企业不会只有一个报表平台,多个不同的平台,或者相关的平台,如果每个平台登录都需要进行一次用户认证,对使用者而言非常麻烦。因此大的企业往往有统一的用户认证,用户用一个账号可以同时登陆所有系统,甚至是使用域用户管理,这个时候就需要使用到单点登录,即在登陆系统的同时也登陆报表(即将输入的用户名密码也发送到报表服务进行认证),从而访问报表时不需要再次登录。
FR报表系统实现单点登录有3中方式:iframe方式、ajax方式和表单提交方式。
注:ajax登陆方式支持7.0.4及以上版本。
不论是哪一种登陆方式,FR报表系统都为用户提供了统一的接口,接口如下:
注:该接口不仅可用来做单点登录,也可用作自定义登录界面。
不同的登录方式使用接口进行单点登录的实现方式是不一样的,以下我们根据不同的登录方式详细介绍。
2. ajax方式
ajax登录方式支持跨域,相对于iframe方式来说,ajax的身份验证是异步验证,同时对于验证超时做了处理,具体用法可查看ajax跨域异步单点登录
3. iframe方式
iframe方式单点登录的接口为:
FR.servletURL + "?op=fs_load&cm=sso&username=XX&password=XX",具体用法可查看iframe跨域单点登陆。
4. 表单提交方式
报表权限验证时直接使用action触发url进行验证,url的验证地址与iframe的验证地址相同,具体可查看表单action提交登陆。 5. iframe方式和ajax方式的区别
iframe方式和ajax方式均可以实现跨域单点登录,ajax可以实现异步的单点登录,并且可对报表系统验证的结果进行处理,如登录超时,但是iframe不可以异步处理,并且在进行报表验证的时候,无法对验证的结果进行处理。