观其大略:

1.       Asp.net 是依存于 IIS 的一个服务,说到 Asp.net 的安全相关的话题当然要有一个整体上的思路: IIS 接收 — 》 IIS 验证 — 》 IIS 授权 --- 》 ASP.net 验证 --- 》 Asp.net 授权 --- 》资源返回给用户 
  IIS 从网络上接收到一个 HTTP WEB 请求可以使用 SSL 技术来保证服务器的身份,此外 SSL 也可以提供一个安全通道来保护客户端和服务器端的机密数据的传送。 IIS 使用基本 摘要式 或者其它的方式验证用户,如果网站中的大部分内容不需要验证就可以设定为匿名验证。验证之后是授权,通过授权 IIS 来允许或者禁止用户访问某资源。 IIS 可以使用 ACL 定义的 NTFS 权限或者针对 IP 地址的客户端授权。 
  IIS 把 Windows 存取令牌传送到 Asp.net ,如果 IIS 使用的是匿名验证则为匿名 Internet 使用者的存取令牌( IUSER_MYMACHINE )。   ASP.net 验证访问者(有三种方式)。 Asp.net 授权所需要的资源或者操作(有两种授权方法)。 
  Asp.net 中程序的代码使用特别的身份来存取本机或者远程资源。

2.       身份验证 :身份验证就是一个解决谁有权力进入系统的问题,通常的做法就是跟系统维护的用户名单进行核对,这样转化为一个实际的技术问题:如果有效的判断一个用户是不是系统的有效用户。这个过程就是 —Authentication( 身份验证 )
专业说法:接收用户凭据,并根据指定的颁发机构来验证凭据的过程成为身份验证

3.       Asp.net 提供三种身份验证方式: Windows 验证 、 Forms 验证 、 Passport 验证 
身份验证的使用是通过配置 Web.config 文件的 < Authentication > 配置节来实现的。

4.       授权 :授权就是确认用户拥有足够的权限来访问请求的资源

5.       Asp.net 提供两类授权服务:文件授权服务 、 URL 授权服务

说点细节

1.       < Authentication > 配置节 mode 可用的参数: None Windows Forms Passport

2.       Windows:IIS 根据程序的设置执行身份的验证 ( 基本 简要 或者集成 Windows)
注意使用这种验证方式 IIS 中必须要禁用匿名访问。

3.       Windows 验证适用于受控环境中,比如企业的 Intranet

4.       Foms 这种验证使用 Cookie 保存用户凭证,并将未将验证的用户重定向到登录页。通常这是的 IIS 配置为匿名访问

5.       Forms 适合部署于互联网的网站应用

6.       Passport 验证是通过微软的集中身份验证服务执行的,它为成员站点提供单点登录和配置文件服务

7.       Passport 适用于跨站点应用,一旦用户注销所有的护照信息就会清除,可以在公共场所使用它。

8.       ACL 面向的是文件, IIS 提供通过验证的用户,通过比较 ACL 调用标记完成授权

9.       URL 授权 检查的根据是 URL 本身而不是 URL 对应的文件, URL 授权可以是应用程序像基于窗体的身份验证或者 Passport 的身份集成验证,因为这些验证中的用户和计算机或者域中的账户并不对应。还控制对虚拟资源的访问。

10.   URL 授权的配置: 授权指令: allow deny 对应操作对象是 roles users 还可以使用 Verb 属性区别不同的 HTTP 行为( POST /GET )

11.   通常情况下用户访问一个网站都是使用匿名访问,匿名访问的用户都会转化为操作系统上的一个帐号来访问服务器 
<authentication mode=”windows”>
<identity impersonate=”true”>

12.   Windows 验证用户通过了验证之后, Asp.net 会触发 Global.asax 文件中的 WindowsAuthentication_OnAuthenticate 事件,可以在这里添加代码把用户信息附加到请求上。

13.   Passport 验证的问题是有多少网站愿意把自己的用户数据放在微软的数据库中?

14.   Asp.net 使用基于角色的安全:把用户映射到一个角色组里面,这个角色组对应一定的权限,这样就实现了对一个群体的权限管理。所以角色应该是对一组具有相同权限用户的抽象。

转载于:https://www.cnblogs.com/top5/archive/2009/09/28/1575437.html

说说Asp.net 身份验证、授权相关推荐

  1. Asp.net 身份验证、授权概述

    [本周]如约而至;时间是争取来的,这回的[本周]是把若干零碎的时间利用起来成文的,完成对Asp.net身份验证.访问授权等内容的梳理,可能漏掉的东西会比较多,漏掉的还是希望大家来补充.顺便说一下上次[ ...

  2. asp.net身份验证方式

    ASP.NET身份验证模式包括Windows.Forms(窗体).Passport(护照)和None(无). 重点内容 Windows身份验证 常结合应用程序自定义身份验证使用使用这种身份验证模式时, ...

  3. ASP.NET身份验证机制membership入门——配置篇(1){转}

    几乎所有的系统中都会使用到访问控制和角色管理这样的功能,例如:新建.修改.删除用户和角色,为用户分配角色,管理角色中的用户等等.于是MS在ASP.NET 2.0开始,实现了这些功能,使得我们在开发中, ...

  4. ASP.NET身份验证——Windows身份认证

    细说ASP.NET Windows身份认证 上篇博客我谈到了一些关于ASP.NET Forms身份认证方面的话题,这次的博客将主要介绍ASP.NET Windows身份认证. Forms身份认证虽然使 ...

  5. ASP.NET身份验证——Form身份认证

    细说ASP.NET Forms身份认证 用户登录是个很常见的业务需求,在ASP.NET中,这个过程被称为身份认证. 由于很常见,因此,我认为把这块内容整理出来,与大家分享应该是件有意义的事. 在开发A ...

  6. java中身份验证,如何处理数据库中用户的身份验证/授权?

    有几种选择 . 选择哪一项完全取决于您 . 只是客观地权衡具体的优缺点,以符合自己的情况 . 1.使用Java EE提供的容器管理身份验证 只需在 web.xml 中声明 ,它引用在servletco ...

  7. ASP.NET Web API身份验证和授权

    英语原文地址:http://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-a ...

  8. 使用JWT的ASP.NET CORE令牌身份验证和授权(无Cookie)——第2部分

    目录 介绍 用户角色 如何创建自定义授权特性? AuthorizeAttribute AuthorizeFilter 如何在控制器和操作方法级别设置权限? 检查用户权限的扩展方法 如何在操作方法(内联 ...

  9. iis授权mysql验证_ASP.NET Web API身份验证和授权

    本文是作者所理解和翻译的内容. 这篇文章包括两部分:身份验证和授权. 身份验证用来确定一个用户的身份.例如,Alice用她的用户名和密码登陆系统,服务器用她的用户名和密码来确定她的身份. 授权是判断一 ...

最新文章

  1. 内卷时代,互联网人相亲有多难?|漫画
  2. Jenkins 2.9.1 安装文档
  3. hdu5491 The Next 模拟
  4. BAT文件命名中含有英文括号运行出错
  5. 学习总在继续......
  6. 固态硬盘—国内视频行业的暂时救星?
  7. 安装python的pip模块
  8. html input自动获取光标位置,HTML contenteditable 标签里怎样获取光标像素位置?
  9. eclipse清理无用import(一次性清理整个项目所有)
  10. 数字通信系统的组成框图
  11. Excel/WPS之粘贴可见内容
  12. FPGA——sdram控制器1
  13. MFC鼠标响应、鼠标画线
  14. MySQL 聚簇索引和非聚簇索引 mysql 索引为啥用b 树
  15. 前端三剑客---HTML
  16. C# 实现eval,支持任意个数、任意基本类型的参数
  17. datatable分页增加首页和尾页
  18. 末位淘汰!985高校硕士毕业拟新规:强制20%不通过或需大改?
  19. sql统计各科成绩大于平均分的人_数据分析师SQL面试必备50题
  20. 计算机安全模式无法启动修复,win7旗舰版安全模式故障修复教程

热门文章

  1. (node:2612) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.
  2. 浅谈CSS3中的弹性布局
  3. 利用Navicat Premium将SQL Server数据库转为My SQL数据库(解决Mac无法打开SQL Server 脚本文件的方法)
  4. DLog-M什么意思
  5. 现在自驾旅游吃住有没有问题?
  6. 让女生觉得坏透了的聊天方式有哪些?
  7. 有没有适合做签名的简短句子?
  8. 你在闲鱼捡过最大的漏是什么?
  9. 互‮网联‬上什么人可以‮大赚‬钱?
  10. 【以太坊源码】I.区块和交易,合约和虚拟机