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的定时任务
WisDom.Net 框架设计(四) 用户安全的更多相关文章
- 游戏UI框架设计(四) : 模态窗体管理
游戏UI框架设计(四) --模态窗体管理 我们在开发UI窗体时,对于"弹出窗体"往往因为需要玩家优先处理弹出小窗体,则要求玩家不能(无法)点击"父窗体",这种窗 ...
- JavaScript框架设计(四) 字符串选择器(选择器模块结束)
JavaScript框架设计(四) 字符串选择器(选择器模块结束) 经过前面JavaScript框架设计(三) push兼容性和选择器上下文的铺垫,实现了在某一元素下寻找,现在终于进入了字符串选择器 ...
- WisDom.Net 框架设计(二) 服务总线
WisDom.Net 框架设计--服务总线 1.Soa 简介 soa 就是面向服务的体系结构 是一个组件模型,不同的组件之间通过定义良好的接口联系起来.就像盖房子一块砖头一块砖头的砌墙,一片一 ...
- WisDom.Net 框架设计(五) 权限设计
WisDom.Net --权限设计 1.需求分析 基本在所有的管理系统中都离不开权限管理.可以这么说,权限管理是管理系统的核心所在. 权限管理说白一些就是每个人能够做什么,不能够做什么.可以说 ...
- WisDom.Net 框架设计(一) 总体框架
WisDom.Net总体框架 1.目标 WisDom.Net 做为以后快速开发相关的软件的基础框架,实现用户,权限,角色,菜单,和工作流的管理功能.相关功能可以独立使用,快速用于其他程序的开发.预计 ...
- WisDom.Net 框架设计(六) license
WisDom.Net-license 1.为啥要用license license (许可证) 顾名思义就是说我的软件只能给在指定的机器上使用.毕竟很多项目都不是免费的,(说句题外话,其实我用的也 ...
- WisDom.Net 框架设计(三) 数据缓存
WisDom.Net --数据缓存 1.几种缓存方式 1.静态全局变量 C#静态变量使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明 ...
- WisDom.Net 框架设计(七) 验证框架
WisDom.Net-验证框架 1.分类 这里我们将数据验证分为以下几种 数据类型校验 主要用于确保数据类型输入的正确 比如年龄一项输入 A岁 ,显然不合法 域检查 ...
- WisDom.Net 框架设计(八) 持久层
WisDom.Net ---持久层 1.什么是持久层 持久层负责最基础的功能支撑,为项目提供一个高层,统一,和并发的数据持久机制,提供了比如建立数据库连接,关闭数据库连接,执行sql语 ...
随机推荐
- Cursor的moveToFirst和moveToNext
参考: http://blog.csdn.net/kerlw/article/details/6126448 总结: 查询得到的cursor是指向第一条记录之前的,因此查询得到cursor后第一次调用 ...
- 处理 insert 字段内容包含 单引号 的问题
问题:postgreSQL insert 字段包含单引号,如:insert into table values('1001','tom'cat'),执行报错: 解决:将单引号替换为两个单引号,如 de ...
- USACO3.42American Heritage(二叉树)
已知中前 求后序 递归一下 有一些小细节 /* ID: shangca2 LANG: C++ TASK: heritage */ #include <iostream> #include& ...
- sql server 清除日志
SQL2008 的收缩日志 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消: (SQL2005) Backup Log DNNam ...
- MD5加密函数
CREATE OR REPLACE FUNCTION MD5( passwd IN VARCHAR2) RETURN VARCHAR2 IS retval ); BEGIN retval := utl ...
- Kruskal算法构造最小生成树
Kruskal算法来构造最小生成树,我总结了分为以下步骤: (1)建图,构造Kruskal边集,边集元素应该包括该边的起始顶点.终止顶点.权值: (2)将边集按权值从小到大的顺序进行排序: (3)从小 ...
- 依据linux Oops信息准确定位错误代码所在行
在linux下调tvp5150am1的过程中,遇到了一kernel oops,内容如下: [ 66.714603] Unable to handle kernel paging request a ...
- 交叉编译中的 --sysroot 等等在编译时的作用
--sysroot=dir 的作用 如果在编译时指定了-sysroot=dir 就是为编译时指定了逻辑目录.编译过程中需要引用的库,头文件,如果要到/usr/include目录下去找的情况下,则会在前 ...
- Centos6 编译安装局域网NTP服务器
一.条件及环境: 1.CentOS:我用的是最新的CentOS 6.5 64位版,此教程应该也适用于RedHat 6及CentOS 6系列所有系统: 2.编译所需环境: 1 # yum -y inst ...
- 《神经网络和深度学习》系列文章三:sigmoid神经元
出处: Michael Nielsen的<Neural Network and Deep Leraning>,点击末尾“阅读原文”即可查看英文原文. 本节译者:哈工大SCIR硕士生 徐伟 ...