系统管理员部分

1.根用户/超级管理员

使用单独的地址(http://192.168.1.21:8080/admin.jsp)登录,主要负责密码策略,新增帐套,帐套数据库初始化等工作

系统固定预置root、superuser两个用户,密文加密存储在主应用的/nchome/ierp/sf/superadmin.xml 文件中

2.系统管理员/帐套管理员

由超级管理员分配,使用帐套地址(http://192.168.1.21:8080/index.jsp)登录,主要负责功能模块启用,系统级参数设置

系统管理员与NC的数据源(数据库连接)绑定,直接存储在该数据源对应的sm_user表中,所以不能跨帐套登录(以下权限同理)

3.集团管理员

由系统管理员分配,配置为多集团管理员时,可以跨集团登录

使用帐套地址(http://192.168.1.21:8080/index.jsp)登录,主要负责集团级参数维护、普通用户分配

4.普通管理员

目前HR子模块有行政部的普通管理员,其他模块由财务的普通管理员负责。主要负责组织级参数维护,普通用户分配

5.业务员/用户

由集团管理员/普通管理员 在“用户权限分配”节点,切换到具体人员后,选择右上角的“分配” 按钮,然后在弹出对话框中勾选相应的角色即可。普通用户分配“00198、00199”角色后,即升级为普通管理员,具有所有模块权限,并且可以新增用户,分配权限

(也可以通过权限申请单进行申请,经审批流通过后,系统自动分配申请的角色,操作略)

 

6.管理员之间的关系

6.用户权限的后台管理

系统统管理员及以其下用户存储在sm_user表,用户角色sm_user_role表,按 “固定字符串+MD5(用户主键+密码明文)” 的规则生成密文存储在sm_user表的USER_PASSWORD 字段。

在测试环境下,可以通过脚本快速添加权限,而无需经过上述步骤。

【示例】

用户:1   其明文密码为:qq123456 

Md5(0001E3100000000006DEqq123456)=d31dc698b6d4170cd55023ecfe6f1e05

【源代码】 

public static String getEncodedPassword(UserVO user, String expresslyPWD)
throws BusinessException
{
if ((user == null) || (StringUtils.isBlank(user.getPrimaryKey())))
throw new BusinessException("illegal arguments");
if ((StringUtils.isNotBlank(expresslyPWD)) && (expresslyPWD.startsWith("U_U++--V"))) {
return expresslyPWD;
}
String codecPWD = DigestUtils.md5Hex(user.getPrimaryKey() + StringUtils.stripToEmpty(expresslyPWD));

return "U_U++--V" + codecPWD;
}

【数据库】 

Select CUSERID,USER_CODE,USER_NAME,USER_NOTE,USER_PASSWORD from sm_user;

CUSERID                      USER_CODE             USER_NAME            USER_NOTE                 USER_PASSWORD 

----------------------      -----------------    ------------- --      -------------------        ----------------------------------------- 

0001E3100000000006DE          1                          1                                           U_U++--Vd31dc698b6d4170cd55023ecfe6f1e05