首页 > 代码库 > WisDom.Net 框架设计(四)

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的定时任务