乐创者平台支持从第三方业务系统中,通过二次开发程序判定请求是否合法的功能。
本章节重点阐述如何实现扩展登录等。
1 接口规范
Request Method:GET
Request URL:{http}://{ip}:{port}/{lczServer}/externalLogin?请求参数
组成说明
{http} 网络协议名称,支持http或https两种协议
{ip} 乐创者服务部署所在的 Internet 主机名,支持ip地址或域名
{port} 乐创者服务部署所在Web应用服务器的访问端口。如果是80端口,可缺省
{lczServer} 乐创者服务应用名,乐创者服务部署时的应用上下文根目录(Web Context-root),可根据业务需要调整为其他名称。当乐创者服务代码发布在“ROOT”目录下时,内容为空即可。
2 请求参数
参数值包含中文或特殊字符时需URL编码。
javascript代码示例:url += ‘&targetVolume=’ + encodeURIComponent(‘测试’)
java代码示例:url += “&targetVolume=” + java.net.URLEncoder.encode(“测试”, “UTF-8”)
必选参数
参数名 |
类型 |
说明 |
|---|---|---|
| privilege_type | string | 认证类型 |
可选参数
参数名 |
类型 |
默认值 |
说明 |
|---|---|---|---|
| validateVariants | string | 传入第三方认证相关参数。 可传递多个参数,格式如下: &validateVariants=认证参数1=参数值;认证参数2={year()};…认证参数n=参数值; 如:userName=xxx&roles=xxxxxx |
|
| curVolumeName | string | 强制指定进入门户后选中的应用;为空时按智能门户中用户的默认应用显示。 | |
| singleAppMode | boolean | false | 是否单应用访问模式,true:进入门户后,左上角不允许切换应用,false:进入门户后,左上角可以切换应用。 |
| hideHeader | boolean | false | 登录成功后,隐藏主页的顶部区域,适用于把乐创者门户整合在第三方页面中时。 |
| clientName | string | 客户端类型名称,用于区分不同的客户端如PC、Mobile,注意:同一个客户端类型、同一用户登录是互斥的。 |
3 典型案例
在此工程中,需要创建一个认证实现类,继承PrivilegeHelper,实现IPrivilegeHelper接口,基类中doValidate方法默认是认证通过的,我们可以在自己的实现类中重载此方法,如下所示:
public class ExternalLoginPrivilege extends PrivilegeHelper implements IPrivilegeHelper {
/**
* 认证方法
* @param request servlet请求
*/
public boolean doValidate(HttpServletRequest request) {
String userName = null; //用户名
/**
* 从第三方系统中获取登录的用户名或用户身份信息
*/......
if (获取失败或不允许访问){
this.setErrMsg("出错提示信息。");
return false;
}
//缓存获取到的用户信息供动态传递用户参数到报表中使用
this.setValidateParam("userName", userName);
return true;
}
/**
* 返回从doValidate中获取到的用户名,或从request中获取用户名
* @param request
* @return
*/
public String getUserName(HttpServletRequest request) {
//系统会根据这里返回的用户名登入乐创者门户
String userName = this.getValidateParamValue("userName");
return userName;
}
}作者:柳杨 创建时间:2023-06-07 11:58
最后编辑:柳杨 更新时间:2026-03-23 20:41
最后编辑:柳杨 更新时间:2026-03-23 20:41
———— 本文档对您有帮助吗?或有错误,恳请 反馈 ————
