美文网首页
用U盾登录系统的实现

用U盾登录系统的实现

作者: 雁门员外 | 来源:发表于2016-04-05 21:22 被阅读1149次

    为了满足客户的一个奇怪的需求,产生了这样的一次奇怪的开发过程

    客户的出发点
    • 客户因为内部人员流动性比较大,一个是内部岗位调换,一个是人员流失;
    • 造成系统使用过程中经常有流程中的数据,因人员变动而无法继续跟进;
    • 新员工接手的时候,对离职的老员工沉淀在系统里的历史数据无法查看;
    • 一定程度上避免内部员工之间因知道对方登录信息,而顶替对方登录系统的可能
    • 对于云端部署的系统,可以在公网上访问,用U盾登录能增加系统的访问安全性
    基于对上面的理解和认同,我们提出引入U盾之后可能带来的若干问题
    • 超级管理员的u盾丢失等会造成整个系统的用户功能无法使用,所以必须有备份
    • 在知道密码的情况下也不能随意登录员工账号了,即使数据需要修改或者调整
    • 为了解决上一个问题,可能需要为同一个账号制作两个u盾;
    • 人员出差或不在厂的时候,没有u盾无法委托他人处理紧急的事情,比如审批等
    • 系统的用户名和角色是不是需要全部重新调整
      不调整的话,新人登录系统之后,在整个系统内都显示的是旧员工的名字
      调整的话,用岗位名称代替用户名,如果一个岗位上有多个人的话,区分不开是那个人;因为只能用岗位1,岗位2来代称
    • 管理u盾的成本很高,新u盾启用的时候,需要往u盾里写入用户名和密码;u盾丢失的时候,需要重新弄一次,而且必须修改密码,否则如果丢失的u盾找到后,也能登录系统,会造成一定的管理漏洞
    针对问题商讨得出的解决办法
    • 有一个公用u盾,供多次写入使用;比如临时需要登录某一账号,那么用超级用户将该账户的信息写入u盾
    • 对u盾的管理之识别其用户名/密码,而不捆绑识别u盾的serial number
    • 张三和李四交接的时候,李四继承使用张三的u盾,然后委托管理员为其修改用户名和密码,然后将u盾重新改写一下
    系统登录界面的调整
    • 输入用户名/密码登录


    • 用u盾登录


      提示插入U盾,已插入那么系统自动显示用户名
      同时用户必须再次输入密码,用户输入的密码要和u盾的密码信息做比对;
      密码正确时进入系统主界面;否则提示密码错误

    用户信息写入u盾

    通过两种方法实现修改密码并同时写入u盾
    方法1:由管理员为其他用户重置密码

    • 首先用管理员u盾登录系统
    • 选定用户管理模块中的某用户


      点击最后的“写入u盾”按钮。(这里只展示了修改密码的界面,也支持修改用户名但在其他页面中实现;如果需要修改用户名的话,先修改完用户名再在此重置密码)

    • 必须重置密码


      然后点击“写入”按钮,这样实现了管理员为系统中的任何用户制作登录u盾的功能

    方法2:用户个人重置密码

    • 个人登陆后

      不允许普通用户修改自己的用户名,只允许其修改自己的密码并写入u盾

    其他
    • 关键代码实现示例
      s_simnew1.Socket_UK.onclose = function(){ //ajax请求放到close的回调函数里可行 submitNow($dialog, $grid, $pjq); }
    • 选择u盾,最好选择开发代码比较完整的,这样的话几乎不需要技术支持就可以自己完成,可以节省不少时间

    欢迎留言讨论:)

    相关文章

      网友评论

          本文标题:用U盾登录系统的实现

          本文链接:https://www.haomeiwen.com/subject/crmplttx.html