zoukankan      html  css  js  c++  java
  • WisDom.Net 框架设计(四) 用户安全

    WisDom.Net  ----用户安全

    1.用户单机登录

        正如其名这里要求其实就是显示用户只能在一台电脑上登录。防止多处登录,这里简单的说一下实现原理,我们在这里使用session +cookie 的方法来实现  如下图所示

       

    (1) 输入用户名密码

    (2) 校验用户名密码格式是否正确

    (3) 传入用户名密码

    (4) 校验用户密码是否正确,返回登录LoginGuid

    (5) 用户名密码是否正确

    (6) 判断用户在session中是否存在,存在即更新用户LoginGuid,不存在则新增,并在cookie中写入LoginGuid

    (7) 传入LoginGuid

    (8)判断用户LoginGuid是否存在。不存在即提示下线

     

    2.用户密码安全性

         1. 我们这里采用 AES 做为加密算法

         2.为了防止用户输入密码过于简单,我们这里在密码前加上一些特殊字符,强化密码的复杂度

        

    /// <summary>
            /// 加密
            /// </summary>
            /// <param name="PassWord"></param>
            /// <returns></returns>
            public static string Encryption(string PassWord)
            {
                return WisDomSecurityUnit.AESEncrypt(Md5Key + PassWord, AESEncryptKey);
            }
            /// <summary>
            /// 解密
            /// </summary>
            /// <param name="PassWord"></param>
            /// <returns></returns>
            public static string Decryption(string PassWord)
            {
                string pwd = WisDomSecurityUnit.AESDecrypt(PassWord, AESEncryptKey);
                if (!pwd.Contains(Md5Key))
                {
                    return string.Empty;
                }
                pwd = pwd.Substring(Md5Key.Length, (pwd.Length - Md5Key.Length));
    
                return pwd.Trim();
            }

    3.用户数据安全性

         1.严格的权限控制(在下一篇博文中详细的说一下)

             目前的想法有2个的。 1。用户只能删除和编辑自己的创建的数据,2.用户可以修改和编辑比自己权限小的数据

         2.数据备份 这里可能会使用mysql的定时任务

     

     

     

     

     

     

  • 相关阅读:
    如果你正在找工作,也许这七个方法会帮到你
    WebSocket 浅析
    关系数据库涉及中的范式与反范式
    MySQL字段类型与合理的选择字段类型
    ER图,数据建模与数据字典
    详解慢查询
    MySQL的最佳索引攻略
    后端技术演进
    MySQL主从复制(BinaryLog)
    MySQL读写分离
  • 原文地址:https://www.cnblogs.com/crystal189/p/3688247.html
Copyright © 2011-2022 走看看