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语 ...
随机推荐
- c#生成注册码的两种方法(mac地址与IP地址)
using System; using System.Management; using System.Security.Cryptography; using System.IO; using Sy ...
- HDU 5937 Equation 【DFS+剪枝】 (2016年中国大学生程序设计竞赛(杭州))
Equation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- web测试方面的知识
web测试 软件测试体系架构设计 一.体系架构 1.C/S:客户端+服务器端,如QQ.单机版记事本.office等,所用语言:VB.C++.C.C#.JAVA.PB.D…等数组语言,C和S都是自己测, ...
- JavaScript浏览器本地数据存储
浏览器本地存储主要使用的是sessionStorage和localStorage.两者都支持,sessionStorage保存的是浏览器和服务器的一次对话信息,只在一次回话中有效.当在新标签页或新窗口 ...
- openstack 集成显卡 对windroye 支持
- Shell简介:什么是Shell,Shell命令的两种执行方式
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...
- MVC母版面,子页的脚本生成在最后
- runnable:在线IDE+代码片段分享
在我之前的博客20个最好的在线IDE中列举过很多在线IDE,可以很方便的在云端执行代码,这样在你手头没有编译器时想试个小程序会非常有用. 今天介绍的这个网站runnable把在线IDE和代码片段结合了 ...
- jQuery获取鼠标事件源(万能)
//任意位置 $(document).ready(function(){ $(document).click(function(){ $("#id_").hide(); }); } ...
- C# 如何设置 richTextBoxr的边距
附件 http://files.cnblogs.com/xe2011/richTextBox_EM_SETRECT.rar using System.Runtime.InteropServices; ...