《用户权限管理》PPT课件.ppt

上传人:wuy****n92 文档编号:71979924 上传时间:2023-02-08 格式:PPT 页数:25 大小:300.49KB
返回 下载 相关 举报
《用户权限管理》PPT课件.ppt_第1页
第1页 / 共25页
《用户权限管理》PPT课件.ppt_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《《用户权限管理》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《用户权限管理》PPT课件.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 本讲内容本讲内容权限管理的实现思路权限管理的实现思路.NET.NET.NET.NET框框架架编编程程技技术术WindowsWindows应用程序中应用程序中用户权限管理的实现用户权限管理的实现6主讲:屠添翼案例:高校教学管理系统案例:高校教学管理系统用户密码加密存储用户密码加密存储v在在Windows应用程序中能够完成用户权限管理的应用程序中能够完成用户权限管理的设计与开发。设计与开发。教学目标教学重点教学难点v盐值和散列盐值和散列v多层实体多层实体v权限管理实现的思路权限管理实现的思路v用户密码加密存储用户密码加密存储一、权限管理的实现思路一、权限管理的实现思路vv用户用户vv角色角色vv

2、权限权限-角色角色-vv管理员管理员 来自教师资料来自教师资料vv教务人员教务人员 来自教师资料来自教师资料vv教师教师 来自教师资料来自教师资料vv学生学生 来自学生资料来自学生资料-权限权限-vv教师资料管理教师资料管理教师资料管理教师资料管理查询查询查询查询(0)(0)、管理、管理、管理、管理(1)(1)vv学生资料管理学生资料管理学生资料管理学生资料管理查询查询查询查询(2)(2)、管理、管理、管理、管理(3)(3)vv课程资料管理课程资料管理课程资料管理课程资料管理查询查询查询查询(4)(4)、管理、管理、管理、管理(5)(5)vv教学任务分配教学任务分配教学任务分配教学任务分配查询

3、查询查询查询(6)(6)、管理、管理、管理、管理(7)(7)vv教学计划安排教学计划安排教学计划安排教学计划安排查询查询查询查询(8)(8)、管理、管理、管理、管理(9)(9)vv考试成绩管理考试成绩管理考试成绩管理考试成绩管理查询查询查询查询(10)(10)、录入、录入、录入、录入(11)(11)、修改、修改、修改、修改(12)(12)vv用户权限管理用户权限管理用户权限管理用户权限管理查询查询查询查询(13)(13)、管理、管理、管理、管理(14)(14)vv数据备份数据备份数据备份数据备份备份备份备份备份(15)(15)、还原、还原、还原、还原(16)(16)-角色权限角色权限-vv教师

4、资料管理教师资料管理教师资料管理教师资料管理查询查询查询查询(0)(0)、管理、管理、管理、管理(1)(1)vv学生资料管理学生资料管理学生资料管理学生资料管理查询查询查询查询(2)(2)、管理、管理、管理、管理(3)(3)vv课程资料管理课程资料管理课程资料管理课程资料管理查询查询查询查询(4)(4)、管理、管理、管理、管理(5)(5)vv教学任务分配教学任务分配教学任务分配教学任务分配查询查询查询查询(6)(6)、管理、管理、管理、管理(7)(7)vv教学计划安排教学计划安排教学计划安排教学计划安排查询查询查询查询(8)(8)、管理、管理、管理、管理(9)(9)vv考试成绩管理考试成绩管理

5、考试成绩管理考试成绩管理查询查询查询查询(10)(10)、录入、录入、录入、录入(11)(11)、修改、修改、修改、修改(12)(12)vv用户权限管理用户权限管理用户权限管理用户权限管理查询查询查询查询(13)(13)、管理、管理、管理、管理(14)(14)vv数据备份数据备份数据备份数据备份备份备份备份备份(15)(15)、还原、还原、还原、还原(16)(16)三个状态三个状态 1 1:允许项:允许项:允许项:允许项 0 0:可选项:可选项:可选项:可选项-1-1:禁止项:禁止项:禁止项:禁止项数据库结构数据库结构二、用户密码加密存储二、用户密码加密存储vv思考:思考:vv大多数开发人员使

6、用数据库存储密码,如果大多数开发人员使用数据库存储密码,如果密码直接以明文的形式存放在数据库中,则密码直接以明文的形式存放在数据库中,则系统很不安全。系统很不安全。散列vv散列简介散列简介vv散列(散列(HashHash)是一种单向算法,一旦数据被)是一种单向算法,一旦数据被转换,将无法再获得其原始值。转换,将无法再获得其原始值。vv可以使用散列算法对密码进行加密,然后再可以使用散列算法对密码进行加密,然后再将其存储在数据库中。将其存储在数据库中。vv思考:验证用户密码的流程是怎样?思考:验证用户密码的流程是怎样?散列vv用户输入密码后,可以再次使用散列算法对用户输入密码后,可以再次使用散列算

7、法对其进行转换,然后将其与存储在数据库中的其进行转换,然后将其与存储在数据库中的散列进行比较。散列进行比较。散列vv散列的特点之一是,即使原始数据只发生一散列的特点之一是,即使原始数据只发生一个小小的改动,数据的散列也会发生非常大个小小的改动,数据的散列也会发生非常大的变化。的变化。Rickie Rickie 和和 Ricky Ricky 这两个单词非常这两个单词非常相似,但使用散列算法加密后的结果却相差相似,但使用散列算法加密后的结果却相差甚远。你可能根本看不出二者之间有什么相甚远。你可能根本看不出二者之间有什么相似之处。似之处。散列vv.NET.NET 开发人员可以使用多种散列算法类。最开

8、发人员可以使用多种散列算法类。最常用的是常用的是 SHA1 SHA1 和和 MD5 MD5。下面我们看一下如。下面我们看一下如何为何为RickieRickie这样的普通字符串生成散列,使这样的普通字符串生成散列,使任何人都无法识别它。任何人都无法识别它。(1)使用使用SHA1生成散列生成散列v bytebytePassword=null;v/创建新的加密服务提供程序对象创建新的加密服务提供程序对象vSHA1sha1=SHA1.Create();v/将原始字符串转换成字节数组,然后计算散列,并返回一将原始字符串转换成字节数组,然后计算散列,并返回一个字节数组个字节数组vbytePassword=

9、sha1.ComputeHash(Encoding.Unicode.GetBytes(Rickie);v/释放资源释放资源vsha1.Clear();v/返回散列值的返回散列值的Base64编码字符串编码字符串vConsole.WriteLine(Convert.ToBase64String(bytePassword);v如此可见,输入字符串的一个小小变化就会如此可见,输入字符串的一个小小变化就会产生完全不同的字符组合。这正是散列算法产生完全不同的字符组合。这正是散列算法之所以有效的原因,它使我们很难找到输入之所以有效的原因,它使我们很难找到输入字符串的规律,也很难根据加密后的字符弄字符串的规

10、律,也很难根据加密后的字符弄清楚字符串原来的模样。清楚字符串原来的模样。(2)使用)使用MD5也可以生成散列也可以生成散列vbytebytePassword=null;vstringtmpPassword=();vMD5md5=MD5.Create();vbytePassword=md5.ComputeHash(Encoding.Unicode.GetBytes(tmpPassword);v/Releasesallresourcesusedbythe.vmd5.Clear();vtxtResults.Text=Convert.ToBase64String(bytePassword);思考:v如

11、果两个用户碰巧使用相同的密码,那如果两个用户碰巧使用相同的密码,那么散列值将完全相同。如果黑客看到您么散列值将完全相同。如果黑客看到您存储密码的表格,会从中找到规律并明存储密码的表格,会从中找到规律并明白您很可能使用了常见的词语,然后黑白您很可能使用了常见的词语,然后黑客会开始词典攻击以确定这些密码。客会开始词典攻击以确定这些密码。v要确保任何两个用户密码的散列值都不相同,要确保任何两个用户密码的散列值都不相同,一种方法是在加密密码之前,在每个用户的一种方法是在加密密码之前,在每个用户的密码中添加一个唯一的值。这个唯一值称为密码中添加一个唯一的值。这个唯一值称为“盐盐”值(值(SaltSalt

12、)。)。v思考:在验证密码时,如何得到这个思考:在验证密码时,如何得到这个“盐盐”值。值。生成salt值vbytesaltValue=newbytesaltLength;vRNGCryptoServiceProviderrng=newRNGCryptoServiceProvider();v/用加密型强随机字节填充的数组用加密型强随机字节填充的数组vrng.GetBytes(saltValue);vbyterawSalted=newbyteunsaltedPassword.Length+saltValue.Length;vvunsaltedPassword.CopyTo(rawSalted,0)

13、;vsaltValue.CopyTo(rawSalted,unsaltedPassword.Length);vvSHA1sha1=SHA1.Create();vbytesaltedPassword=sha1.ComputeHash(rawSalted);vvbytedbPassword=newbytesaltedPassword.Length+saltValue.Length;vsaltedPassword.CopyTo(dbPassword,0);vsaltValue.CopyTo(dbPassword,saltedPassword.Length);passwordunsaltedPasswordSHA1saltValue rawSalted SaltedPassword dbPassword 随机生成随机生成合并合并合并合并SHA1202442024密码生成密码生成密码验证密码验证passwordunsaltedPasswordSHA1saltValue SaltedPassword dbPassword 分解分解20244rawSalted 合并合并24SaltedPassword 比较比较合并合并密码存储格式密码存储格式vv在在SQLServer2000中存为中存为binary(24)三、案例:高校教学管理系统三、案例:高校教学管理系统vv见程序见程序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁