系统管理员部分
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
No Comments