[本周] 就来说说Asp.net 身份验证、授权-阿里云开发者社区

开发者社区> 唐玄奘> 正文

[本周] 就来说说Asp.net 身份验证、授权

简介:
+关注继续查看

[本周]如约而至;时间是争取来的,这回的[本周]是把若干零碎的时间利用起来成文的,完成对Asp.net身份验证、访问授权等内容的梳理,可能漏掉的东西会比较多,漏掉的还是希望大家来补充。顺便说一下上次[本周]Ajax 那点事 题目我认为很平实很低调了,没料到还是被批评了,这回考虑一下用了一个白开水一样的题目,没有问题了吧?言归正传……

观其大略:

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使用基于角色的安全:把用户映射到一个角色组里面,这个角色组对应一定的权限,这样就实现了对一个群体的权限管理。所以角色应该是对一组具有相同权限用户的抽象。

 

上面所说的都是可以应用于实践的,问题集中在web.config的配置,和一些初始化操作,大家和容易找到相关内容,我还是提供一个纲要,呵呵;夜深了,睡了,晚安!

 

顺便问一句:爱要怎么说出口?

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26436 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
11827 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
11755 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
8666 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
12047 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4536 0
+关注
641
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载