基于Windows AD的单点登录系统(一)

一、引言

随着公司信息化建设的发展,部署的应用系统也越来越多。

首先,从用户角度:用户会觉得自己身陷于越来越多的用户账号和密码需要记录,以便于使用各种程序。每个新的系统有不同的密码规则,对密码的长度、有效期、特殊字符的要求等变得更为严格,用户时常还会遗忘密码。

其次,从IT工程师角度:IT工程师管理用户账号和权限的工作也越来越繁重,且无太多技术含量和附加价值。

最后,从信息安全角度:当用户离职时,可能会存在禁用账号不及时,或部分应用系统账号忘记禁用的情况,增加了潜在的风险。

为了解决上述问题,公司急需部署一套单点登录系统。联系过两家供应商,两套系统都是按用户数量、对接的业务系统数量来收费,初步报价均在150万以上,今年又增加了几家子公司和两套应用系统,实施价格预计在200万以上。

鉴于此,结合我们的实际情况,我设计了具有兆驰特色的单点登录系统,虽不能与商业软件媲美,但能够有效解决前述的痛点,满足我们的管理需求。也希望51CTO的网友提出宝贵的意见。


二、基于Windows AD的单点登录系统介绍

2.1基本功能介绍

该系统主要实现以下三个方面的功能:

1)        共享一个身份认证系统

各应用系统与Windows ADHR系统集成,基于Windows AD的用户数据库,实现用一套账号和密码登录多个应用系统,解决用户需要记录多套用户名和密码的问题,以及离职时因账号禁用不及时或忘记禁用带来的潜在风险。

2)        通过岗位角色自动分配权限

首先规划定义好各岗位的标准权限,即规划每一个岗位在各应用系统中的权限类型,上网权限类型、电脑类型、电话权限等。当新员工分配到该岗位时,其账号将自动开通预设的权限,岗位变动、权限的变更通过流程来控制。

3)        统一员工入口,实现单点登录

目前每一个应用系统都有自己的登录窗口,如HR系统、OA系统、PLM系统、MES系统、关务系统等。随着部署的应用系统越来越多,用户需要记住多个系统的访问地址,工作中也会需要同时到多套系统中查询信息。虽然我们是企业内部的信息化系统,但仍然符合简单方便、安全高效的互联网系统思维,所有系统只有一个PC端入口和一个移动端入口,员工登录后,能查询个人信息、企业公告、水电费、固定资产、小资产、借款、考勤、待办流程、申请流程等工作,给员工一个简单、便捷的信息化门户平台。尤其是公司规模逐步扩大,集团化运营后,更迫切需要一个统一的企业内部信息化门户,提高员工的工作效率,同时提升企业形象。

以上三个功能,我们将分三个阶段逐步实现,本文先讲第一部分。

2.2单点登录系统逻辑架构

123.jpg

(图一)

1)        唯一的用户基本信息入口:

用户基本信息主数据存放在HR系统,由HR部门负责管理,信息中心无权修改。当新员工入职时,在HR系统中录入基本信息,指定岗位角色。

2)        Windows AD域实时创建账号和密码

连接HR系统和Windows AD域,当在HR系统中录入新员工信息时,实时自动地在Windows AD域中创建AD账号,并设置随机初始化密码,该账号和密码作为员工访问公司各应用系统的凭证,账号和密码通过短信发送至新员工手机上,员工登录系统后可修改初始密码。

3)        将用户基本信息传送至各应用系统

实时将用户基本信息推送至各应用系统,只推送在该应用系统有权限的用户。

4)        登录各业务应用系统时,转至Windows AD域认证

修改各业务应用系统的用户认证方式为LDAP认证,并配置为公司的Windows AD域控制器地址,如应用系统不支持该功能,需重新开发。当用户登录各业务应用系统时,输入Windows AD账号和密码,系统将转向到Windows AD域控制器上核实身份信息。

5)        Windows AD域控制器返回认证结果

Windows AD域控制器返回认证结果,认证成功,则顺利登录业务系统;认证失败或无该业务系统的权限,则不允许登录。

6)        根据岗位对应的角色分配权限

登录成功后,根据第3步从HR系统中同步的基本信息,自动匹配该用户的岗位编号和权限。

7)        应用系统将角色及其权限传回至HR系统

应用系统定期将角色及其权限信息更新至HR系统,HR系统在维护岗位的标准权限时将用到系统角色信息。

8)        自动禁用离职员工账号

员工离职,当在HR系统中标识为离职状态时,将实时禁用Windows AD域账号,此时,员工无法登录所有业务系统。同时,将定期清除应用系统无效的用户信息。

2.3应用场景

我们将以员工从入职到离职的整个在职过程,逐一分析单点登录系统在每种应用场景下给我们带来的改变及好处。

2.3.1员工入职时

现状:

1)        HR部门办理入职手续,创建HR系统的账号和密码;

2)        部门同事代申请AD账号、OA账号、邮箱账号、MES账号、上网权限等应用系统账号和权限。

3)        申请电脑、电话等固定资产或小资产。

部署单点登录系统后:

1)        HR部门办理入职手续,HR系统中自动生成工号,并录入基本信息;

2)        自动创建Windows AD账号,账号和密码通过短信发送到员工手机上;

3)        根据新员工的岗位权限,自动开通各应用系统的权限,用Windows AD账号直接登录即可。减轻了IT部创建账号的权限的工作量。

4)        未实现共享身份认证的应用系统(如企业邮箱、SAP等),自动发起一条申请账号的流程。

2.3.2岗位变动时

现状:

当员工A从行政部移动到财务部时,需要自行提交各系统的权限调整申请,审批后由IT同事修改系统权限。

一方面,权限变更会滞后,造成员工A到达财务部后,仍然不能访问财务部相关的资源;另一方面,提交申请时只注明新增加权限,旧的权限可能仍然保留,造成员工A到财务部后,仍然能够访问行政部的资源,增加了潜在的风险。

行政部员工A离开后的接替者员工B,也需要提交各系统的权限申请,审批后由IT同事修改系统权限。

部署单点登录系统后:

当员工A从行政部移动到财务部时,根据财务部的新岗位,自动分配新岗位的权限,并删除旧岗位的权限,全程无需IT同事干预,更高效且更安全。员工B接替员工A的岗位,也自动分配员工A岗位的权限,减少IT同事工作量。

2.3.3岗位权限变动(永久)

该场景适用于员工A因工作需要,需要拥有更多的权限,新增的权限期限为永久。

现状:

员工提交权限新增申请流程,经审批后由IT同事在应用系统中增加。

部署单点登录系统后:

该场景仍需员工提交权限新增申请流程,经审批后由IT同事在应用系统中增加。

1)        提交申请,选择系统,根据申请人的工号,调出该用户在系统中的权限描述和权限清单,输入新增或减少的权限描述,提交审批。

2)        审批通过后,IT工程师根据权限描述,在各应用系统的后台修改角色的权限,完成后,将新增加的权限描述更新至数据库。

 

2.3.4岗位权限变动(临时)

该场景适用于员工A离职,新的接替者未到岗,员工A的工作分摊给员工B和员工C。新的接替者到岗后,应取消新增权限。即新增的权限期限为临时。

现状:

员工提交权限新增申请流程,经审批后由IT同事在应用系统中增加,新的接替者到岗后,再提交权限新增申请流程,为新同事设置权限。

可能会存在,新接替者到岗并拥有权限后,临时代岗的同事仍然拥有该权限的情况。

部署单点登录系统后:

员工提交权限新增申请流程(流程同2.3.3),经审批后由IT同事在应用系统中增加,新的接替者到岗后,权限自动取消。

在应用系统中新增两个角色(如一个岗位的工作分给多人,应建立多个角色),对应的权限分别为员工B和员工C新增的权限,然后将新增的角色权限叠加到员工B和员工C上。

新的接替者到岗,系统自动删除叠加在员工B和员工C上新增加权限的角色。

2.3.5离职时

现状:

1)        员工持《离职申请单》到IT部办理禁用账号手续,IT工程师受理后,发邮件给IT部所有同事,要求各系统管理员禁用账号。

2)        如果用户不提交《离职申请单》或不提交至IT部,以及IT部同事疏忽,账号将无法及时删除。

部署单点登录系统后:

1)        HR系统标识某员工状态为离职时,自动禁用Windows AD账号,所有关联应用系统将无法登录。

2)        未实现共享身份认证的应用系统(如企业邮箱、SAP等),自动发起一条禁用账号的流程。

2.4兆驰单点登录系统给我们带来的好处

成功实施该系统后,将给我们带来以下几点好处:

1)        提高员工的体验感,无需记录多个用户名和密码。

2)        减少IT工作量,将更多的时间用于更有价值的工作。

3)        增强信息安全,降低员工离职后的风险,减少潜在的安全隐患。

4)        提升企业信息化建设的整体形象,统一PC端和移动端入口后,将极大地方便员工获取信息,大大提高企业信息化建设整体形象和水平。

三、实现共享一个身份认证系统

在开始实施时,首先需要对企业的数据架构重新梳理,哪些数据放在什么系统?数据的调用关系,保证数据的一致性、准确性等。

3.1 HR系统

实现第一阶段对HR系统的改动较小,当HR系统用户表数据变动时,触发程序。

新增用户时,实时自动创建Windows AD账号,同时将用户基本信息同步至应用系统;

员工状态为离职时,自动禁用Windows AD账号,定时从应用系统中删除离职用户信息。

3.2 Windows AD系统

3.2.1自动创建Windows AD账号

Windows AD账号名为员工工号,密码为随机产生,密码需满足复杂性要求;

账号和密码通过手机短信发送至员工手机;

实现第一阶段暂不考虑Windows AD同步HR系统的组织架构,所有的新账号放在指定的OU,由IT工程师手动移至对应的组织架构OU中(目前的Windows文件服务器按组织架构来分配权限)。


3.2.2自动禁用Windows AD账号

HR系统中员工状态为离职时,实时自动禁用Windows AD账号;

已禁用账号移至指定OU,三个月后再自动删除。

3.3各应用系统

目前已部署了多套应用系统,首先在正在实施的关务系统和节能照明MES系统上实施,再逐步切换现在的应用系统(如OAHRMESSRM等)

3.3.1配置LDAP认证方式

修改各应用系统的登录认证模式为LDAP认证,如应用系统无该功能,需联系厂商修改代码。需要能够添加多台LDAP服务器,以避免单台Windows AD域控制器出现故障后,所有用户无法登录应用系统。


3.3.2HR系统同步用户信息

实现第一阶段的功能只需从HR系统同步用户基本信息(工号、姓名、公司名称、部门、岗位代码、岗位名称等),在应用系统中配置角色的权限,通过将用户分配给对应的角色来实现权限管理。

由于还未实现岗位代码和各系统角色编号之间的一一匹配,因此,只能同步所有用户信息。


第一部分主要是HR系统与AD的打通,实现自动创建AD账号,及对业务系统做简单的改造,使其能利用Windows AD账号登录。

下一篇将介绍通过岗位角色自动分配权限。 


猜你喜欢

转载自blog.51cto.com/hichuann/2285587