...
方法一:Smartbi服务器加载LoginToken扩展包(点击此处下载),并在第三方系统中编写Java代码,调用Smartbi的服务器端SDK方法进行登录并生成登录Token,实现单点登录。
代码块 language java 这个插件的用途是使得在URL中传递密码只能使用一次 集成系统首先通过Smartbi的SDK获取用户的动态密码密码60秒内有效 ** 可在LoginToken.ext\META-INF\aplicationContext.xml修改timeout属性: 获取动态密码的示例: ClientConnector conn = new ClientConnector("http://localhost:8080/smartbi"); conn.open("admin", "manager");//以管理员身份登录 InvokeResult result = conn.remoteInvoke("LoginTokenModule", "generateLoginToken", new Object[]{"demo"});//用户名 System.out.println(result.getResult()); conn.close(); 得到密码后可以通过openresource.jsp?user=demo&password=上述得到的动态密码打开Smartbi的资源
加载这个扩展包需要将Smartbi服务器的登录验证类设置为smartbi加载这个扩展包需要将Smartbi服务器config页面用户管理下加密类型设置为CLASS,登录验证类设置为smartbi.logintoken.LoginTokenAuthtication
注:若登录不成功,请检查1、扩展包已正常加载?2、登录验证类填写正确?3、生成token的代码正确(通过管理员登录生成其他用户的登录token,不能给admin用户生成token并登录)。
...