统一认证-单点登录
更新时间:2023-05-24 18:46:01 阅读量: 实用文档 文档下载
第1章 统一认证
1.1 标准LDAP认证接口(轻量目录访问协议)
宏景提供了统一认证的标准基准类的IsHaveTheUserLogon,参数分别是用户名和密码(user_id,password,user_id),其对应了LDAP服务建立的用户名和密码。
如果logonclass参数不为空,宏景eHR系统认证时,先执行此参数配置的类(也即com.hjsj.hrms.businessobject.sys.sso.IsHaveTheUserLogo),通过system.properties配置文件得到LDAP服务器的相应参数,并与LDAP服务器建立链接,如果输入的用户名和密码正确,则返回true,否则返回false。
校验成功,将不再在e-HR系统的进行用户名密码的校验,而是根据用户名直接到宏景e-HR系统中取得对应的权限信息,这种方法的关键点是两边用户名必须相同。
宏景e-HR系统的用户名可以指定人员主集中的某个指标,此时需要在系统维护中进行登录认证设置“用户名指标”,如图所示:
说明:
在Logonclass执行时,如果ldapserver=AD,那么LDAP的域名DN=”CN” +用户名+”,”+ rootorg。如果不等于AD或者没有ldapserver此参数,那么LDAP的域名DN=用户名+”@”+ rootorg,当userid= xiaoming时,
如果ldapserver=AD,rootorg= ou=Employees,dc=shineoa,dc=com,那么DN=CN= xiaoming, ou=Employees,dc=shineoa,dc=com
如果dapserver=DD,rootorg= ,那么DN= xiaoming@
1.1.1 配置参数
所有有关LDAP认证参数都保存在system.properties文件中,如果采用Tomcat应用服务器,则此文件存放在{tomcat home}/config目录下,如下所示:
。。。
ldapserver=AD
rootorg=,CN=Users,o=jic,c=cn
ldaphost=ldap://ldapserver
ldapport=389
initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
#logonclass=com.hjsj.hrms.businessobject.sys.sso.IsHaveTheUserLogon 。。。
前四个参数可能通过eHR系统进行配置,如下图所示:
配置完成后,手工把logonclass参数前面“#”去掉即要。
参数说明:
ldapserver=AD(表示为微软AD服务器,如果不为AD或者没有此参数,则表示为其它LDAP服务器)。
rootorg参数有三种格式,如下:
rootorg=(目前有三种格式,此种格式是用公司的Internet地址表示的基准DN;第二种格式是rootorg=o="FooBar, Inc.", c=US,o=FooBar, Inc. 表示组织名,c=US 表示公司的总部在美国,第三种格式是 rootorg=ou=Employees,
dc=shineoa,dc=com,用DNS域名的不同部分组成的基准)
ldaphost=ldap://ldapserve(可以是域服务器名或IP地址)
ldapport=389(域服务器名端口号)
initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory(指定JNDI服务提供程序中工厂类的名称,该工厂负责为其服务创建一个合适的InitialContext 对象,这里使用LDAP 服务器作为JNDI 服务器,所以指定的是LdapCtxFactory)
logonclass=com.hjsj.hrms.businessobject.sys.sso. IsHaveTheUserLogon(宏景开发的统一认证类)
1.2 二次开发接口
如果标准的LDAP接口类无法实现统一认证的要求,实施人员可以继承如下接口,实现这个接口类中两个方法(这个接口类在struts_extends.jar包中) /**
*
*/
package com.hrms.struts.admin;
/**
* <p>Title:VerifyUser</p>
* <p>Description:判断用户的合法性,是否存在</p>
* <p>Company:hjsj</p>
* <p>create time:2007-9-12:10:17:52</p>
* @author chenmengqing
* @version 1.0
*
*/
public interface VerifyUser {
/***
* 分析用户是否存在
* @param username 用户名
* @param password 口令
* @return
*/
public boolean isExist(String username,String password);
public String getUserId();
}
例如:
package com.hjsj.hrms.businessobject.sys.sso;
import com.hjsj.hrms.businessobject.sys.LdapAccessBo;
import com.hrms.struts.admin.VerifyUser;
/**
*
*<p>Title:</p>
*<p>Description:</p>
*<p>Company:HJHJ</p>
*<p>Create time:Sep 10, 2008</p>
*@version 4.0
*/
public class IsHaveTheUserLogon implements VerifyUser {
public boolean isExist(String username, String password) { boolean isCorrect=false; return isCorrect; return isCorrect; if(username==null||username.equals("")) if(password==null||password.equals("")) erid=username; /** * 从外部系统传过来username可能需要转换才能和宏景eHR用户对应 */ private String userid=""; /** * 新增一个UserID接口,20090624 */ public String getUserId() { } return erid;
if(LdapAccessBo.isHaveTheUser(username,password))//验证轻量级目录服务中是否有此用户
{
isCorrect=true; erid=username;//.substring(0, 5); eHR系统中的用户取自于LDAP用户前5位
} } } return isCorrect;
1.2.1 配置参数
所有有关LDAP认证参数都保存在system.properties文件中,如果采用Tomcat应用服务器,则此文件存放在{tomcat home}/config目录下,如下所示:
。。。
#logonclass=xxxx.yyy.xxxa.AAAA #去掉注释,改成自己实现的类名
。。。
第2章 单点登录
本方案采用两级认证体系,在企业统一门户上建立HJ-eHR自助服务平台或业务平台链接,在HJ-eHR平台登录时,企业统一门户把用户名和密码传给eHR系统,用户名和密码可以采用DES算法加密,也可以不用DES加密,视用户要求决定。具体单点登录过程如下:
用户输入用户名和密码,进入企业统一门户或OA系统,登录成功后在人
力资源系统链接内加入相关用户名,密码或者在对应提交的表单中加上用户名或密码。
用户点击进入宏景eHR。
通过统一认证系统,验证用户用户名和密码是否正确,如果不正确,返回
至门户登录界面,此门户页面在system.properties文件中配置,参数名为portalurl;如果正确,通过统一认证系统取得用户登录宏景人力资源系统的权限,进入宏景eHR。
统一认证系统通过POST方式以http协议,向宏景eHR系统发送用户认证信
息(包含:用户名、密码、当前时间、当前屏幕高度和宽度、认证成功后跳转到的页面等)。
统一认证系统向宏景eHR系统发送认证信息具体如下:
Action 方法的URL地址;由其他系统提供;
发送的变量有:
userName=参数值&newPassword=参数值
说明:
userName后跟参数为用户名;
Password后跟参数为密码;
2.1 单点登录实施示例
宏景eHR系统接受统一认证系统发送用户名、密码到宏景eHR系统中进行认证,认证通过,则进行后续处理。否则,提示登录失败。
示例:
…
<form action="http://127.0.0.1:8080/logon/logonService" method="post"> <input type="hidden" name="flag" value="19" >
<input type="hidden" name="validatepwd" value="true|false" >
<input type="hidden" name="user_ID" value="xx" >
<input type="hidden" name="password" value="yy" >
</form>
参数说明:
flag:登陆后进入不同系统平台和版本的标识
19:4.2自助平台;20:4.2业务平台;21:4.3业务平台;25:4.3自助平台
validatepwd:登录时是否校验密码。有时候统一门户只提供登录用户名时,可以把validatepwd参数的值设为false,这样如果有和登录用户名对应的用户,不去校验密码也能正常登录
user_ID: 登录用户名
password:登录密码
正在阅读:
统一认证-单点登录05-24
教育心理学第三章学习的认知过程山东大学期末考试知识点复习10-07
初中数学中考模拟试卷及答案 (19)03-08
234 C-6.13-3 预制管节评定表06-13
浅谈博物馆展示空间设计中的生态理念09-25
神经解剖学复习题04-19
沉积岩石学复习资料05-02
个人及团队管理期末复习题04-16
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 单点
- 统一
- 登录
- 认证