-- 作者:luodang2050
-- 发布时间:2014/10/28 14:43:00
-- [分享]关于用户与授权离线保存分析
接触并开发foxtable系统也有几个月了,经过多位版主,特别是“有点甜”、“BIN”版主的指导帮助,系统终于小有所成,特分享一点心得,以作感谢。
如题,该贴分享的是“用户离线保存”,因本人时间有限,只做思路分析
1、前提:自定义用户管理
2、连接外部数据源时做在线判定,如外部数据源连接不上,则切换到本地Access做离线数据源。
3、加载内部数据源时只加载核心部分
4、加载外部数据源时不加载任何外部数据源
5、根据系统的在线状况,动态选择用户表的位置。同时,如为在线状态,则登陆后将该用户的配置信息更新到本地用户表,同时设置用户离线保存的有效期限。
如上几点,能够做到用户配置的离线保存,但无法保证信息的安全性。为此,还需在自定义用户表里面做功夫。
1、在线数据表设置“name”,“password”,“group”,“roles”等字段;离线数据表在在线数据表的基础上增加“有效期止”字段。
2、加密:name不加密,“password”根据name及固定密匙及md5三重加密,这样,不同用户同一密码生成的“password”也不同,即使被获取,也无法通过MD5查字典破解,每个用户的密码也无法被复制。
3、其他配置字段根据“name”、用户原始密码、及固定密匙加密,这样必须通过输入原始密码才能获取用户的配置信息,防止配置信息被复制。
4、在离线用户表增加“有效期止”字段,并模仿其他配置字段的加密方式,同样能够防止字段值被篡改,并在离线保存一段时间后需要在线激活更新。
如上,基本能够保证离线用户配置的安全性。
同样,授权表等信息也可以通过以上方式离线保存下来,以实现灵活的权限控制。
欢迎各位查看并讨论,谢谢
此主题相关图片如下:用户加密.png

此主题相关图片如下:授权加密.png

此主题相关图片如下:授权解密.png

以下是相关实例代码
以下内容只有回复后才可以浏览
[此贴子已经被作者于2014-10-29 9:14:57编辑过]
|