浅析ASP.NET安全架构

开发 后端
本文介绍ASP.NET安全架构分为几个关键的安全过程:身份验证,授权,假冒,加密提供提供了必需的功能。

在开发Web程序中,我们可以选择用自己的方法来实现安全的策略,或者可以购买第三方的安全代码和产品,不管怎么样,都是要很大的花费的,幸好在.NET Framework中已经内置了安全的解决方案。

ASP.NET和 .NET Framework 联合IIS为Web应用程序安全提供了一个基础结构。它的一个很明显的优势在于我们不必再编写自己的安全架构,我们可以利用.NET安全架构的内置的特性,而且整个安全的架构是经过测试和时间的考验了的。

.NET安全架构包含了很多的类,这些类用来处理身份验证,授权,基于角色的授权,假冒(Impersonation),代码访问安全,还包含了一个用于构建自定义解决方案的基本架构。

本篇我们主要谈论下面的一些话题:
◆ASP.NET安全架构的主要功能
◆身份验证和授权
◆安全上下文中的标识和主体
◆身份验证模块的运行
◆授权模块的运行

下面就开始:

ASP.NET安全架构

ASP.NET安全架构分为几个关键的安全过程:身份验证,授权,假冒,加密提供提供了必需的功能。具体看看一些解释:
◆身份验证--指明是谁再访问我们的站点
◆授权----谁可以对哪些资源操作和访问?访问站点的用户是否被授权使用他所请求的资源?
◆假冒----准备假冒什么角色?(注:假冒不是贬义词,不是我们常说的假冒商品的假冒,因为不同的用户角色有不同的权限,如果我们当前的用户无法访问某一特定的资源,我们就可以让想访问特定资源的用户假冒,更确切的说是模仿有权限访问特定资源的用户,简言之:用户A想访问C资源,但是没有权限,但是用户B可以访问,所以A和B商量,A就用B的身份访问。具体的以后讲解)

身份验证

身份验证是揭示用户标识(注:标识的概念我们后面马上就讲的,简言之,用户的ID 和名称)并判断标识真实性的过程。很好理解,举个例子(大家注意例子中的一些术语):我们要取参加一个会议,我们就会取登记提供我们的一些证件即标识(表明我们的身份),一旦标识被确认,我们就会得到会议通行证,我们就可以带着通行证参加会议。

而且会议中的每个人都可以通过我们的通行证了解我们的一些信息,如我们的名字,公司。身份验证就是:一旦标识被确定,我们就会得到一个可以识别我们的令牌,所以,再一个特定的区域内,不管我们在哪里,我们的标识都可以被识别。

在ASP.NET中,有4中身份验证的模式:
◆Widows身份验证(Windows Authentication)
◆Forms身份验证(Form Authentication)
◆Passpot身份验证(Passport Authentication)
◆自定义身份验证

对于每一种身份验证,用户都需要在登录的时候提供凭证,一旦标识被核实,用户就会获得一个身份验证令牌,在Forms验证中,整个令牌就是 FormsAuthenticationTicket,整个令牌就放在 cookie中,每次请求资源的时候,令牌就会提供用户的标识信息。

【编辑推荐】

  1. 介绍ASP.NET MVC的实现
  2. 如何从ASP.NET 2.0中发送电子邮件
  3. 浅谈ASP.NET应用
  4. ASP.NET中的ViewState本质
  5. 安装ASP.NET AJAX的过程
责任编辑:佚名 来源: ctocio
相关推荐

2009-07-23 17:05:11

ASP.NET安全性

2009-07-29 11:25:40

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 15:50:13

ASP.NET优点

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 18:36:12

ASP.NET Che

2009-08-10 13:32:15

ASP.NET TimASP.NET组件设计

2009-07-31 17:35:02

ASP.NET线程安全

2009-07-28 16:40:11

ASP.NET异步页面

2009-08-05 14:46:17

ASP.NET url

2009-07-23 14:31:20

ASP.NET MVC

2009-07-28 15:53:43

ASP.NET Web

2009-07-20 16:23:01

ASP.NET授权模块

2009-08-04 17:00:09

ASP.NET禁用Vi

2009-07-28 13:35:18

2009-07-27 10:18:12

TypeResolveASP.NET

2009-07-24 18:02:46

ASP.NET编程

2009-08-04 17:16:16

ASP.NET代码优化

2009-08-05 16:50:09

ASP.NET For

2009-08-05 16:53:14

ASP.NET组件设计
点赞
收藏

51CTO技术栈公众号