资源描述
,Slide Title,Body Text,Second level,Third level,Fourth level,Fifth level,第,17,讲 身份验证,Web,客户端身份验证介绍,选择安全的,客户端身份验证方法,.NET,代码访问和基于角色的安全性,ASP.NET,身份验证方法的概述,在,ASP.NET,中使用,Windows,身份验证,在,ASP.NET,中使用,Form,身份验证,Web,客户端身份验证介绍,身份验证与授权,模拟与委托,IIS,模拟,Windows,用户账户的实现,以编程方式访问用户标识,演示 以编程方式访问用户标识,身份验证与授权,身份验证,获取标识凭据并验证那些凭据的过程,身份验证是验证客户端身份的行为,授权,确定验证后的主体是否有权限访问它所请求访问的资源的过程,合理的授权可以减少被攻击的风险,用户标识,和权限,Windows 2000,和,IIS,创建了控制用户资源访问的特殊账户,Interactive,组,Network,组,IUSR_,computername,账户,IWAM_,computername,账户,ASPNET,账户,LocalSystem,IIS,模拟,Windows,用户账户的实现,1,2,3,4,接收客户端请求,模拟用户身份,执行有关操作,恢复进程身份标识,,即:,LocalSystem,IIS,IUSR_,computername,IWAM_,computername,Windows,用户和组,LocalSystem,Windows,账户,ASPNET,ASP.NET,ASP.NET Web,应用程序启用模拟,以编程方式访问用户标识,If (User.Identity.IsAuthenticated) Then,Response.Write(User.Identity.Name),Response.Write(User.Identity.AuthenticationType),End If,演示,以编程方式访问用户标识,使用,ASP.NET,页面显示用户标识信息,第,17,讲 身份验证,Web,客户端身份验证介绍,选择安全的,客户端身份验证方法,.NET,代码访问和基于角色的安全性,ASP.NET,身份验证方法的概述,在,ASP.NET,中使用,Windows,身份验证,选择安全的,客户端身份验证方法,IIS Web,客户端身份验证概述,演示 设置,IIS,身份验证方法,使用匿名身份验证,使用基本,身份,验证,使用摘要式,身份,验证,使用,集成,Windows,身份验证,课堂练习,选择,Web,客户端身份验证方法,选择安全的,客户端身份验证方法,IIS,匿名,基本,摘要式,集成,Windows,身份验证,(NTLM, Kerberos),SSL,和,客户证书,客户端,Web,访问类型,匿名访问,需要身份识别的访问,需要经过身份验证的访问,IIS,提供多种身份验证方案,匿名,基本,摘要,公共信息、机密性低,私人数据或机密信息,需要较强的保密性使用身份验证技术,集成,Windows,身份验证,(NTLM, Kerberos),客户证书映射,IIS Web,客户端身份验证概述,演示,设置,IIS,身份验证方法,打开,Web,应用程序属性,选择,“,目录安全性”选项卡,点击“编辑”,显示“验证方法”,对话框,IIS,验证匿名用户,用户不需要提供用户名与密码,Internet,来宾账户,IUSR_computername,启用允许,IIS,控制密码选项,使用,匿名,身份,验证,使用基本,身份,验证,最广泛支持和高兼容性的用户身份验证方案,密码作为纯文本发送,要求,Windows,用户账户具有,Web,服务器本地登录权限,可以选择默认的登录域,使用安全套接字层可以使基本身份验证更安全,使用摘要式,身份,验证,网上发送简要(又称为哈希)而非密码,能通过代理穿过防火墙验证身份,要求,用户有,Web,服务器本地登录的权限,Internet Explorer 5.0,以及更高版本,Active Directory,在,Active Directory,中使用,可逆加密存储口令,使用集成,Windows,身份验证,使用当前的,Windows,用户凭据,两类机制,NTLM,,需要,Internet Explorer 2.0,以及更高的版本支持,Kerberos V5,,需要,Internet Explorer 5.0,以及更高的版本支持,不能通过代理穿过防火墙验证身份,课堂练习,选择,Web,客户端身份验证方法,学生,根据具体场景,选择合适的验证方案,时间:,5,分钟,19.3.9 课堂练习,选择,Web,客户端身份验证方法,第,17,讲 身份验证,Web,客户端身份验证介绍,选择安全的,客户端身份验证方法,.NET,代码访问和基于角色的安全性,ASP.NET,身份验证方法的概述,在,ASP.NET,中使用,Windows,身份验证,ASP.NET,身份验证方法的概述,比较,ASP.NET,身份验证方法,配置,ASP.NET Web,应用程序,Web.config,文件中的身份验证和授权,配置的,设置,保护单个的,Web,页面,课堂练习,使用,Web.config,文件,比较,ASP.NET,身份验证方法,验证方法,优点,缺点,Windows,使用现有的,Windows,架构,适合,Intranet,不能和代理服务器协同工作,Forms,适合,Internet,支持各种客户端类型,需要编写自定义的身份验证代码,Passport,多个站点的一次登录,不需要额外的数据库来存储用户信息,注册页面的自定义,收费,用户必须有一个,Passport,账户,20.2.1,比较,ASP.NET,身份验证方法,配置,ASP.NET Web,应用程序,Web.config,Web.config,Machine.config,Private,Root,将设置应用于整个,Web,应用程序,将设置应用于所有,Web,应用程序,Config,将设置应用于该目录中的所有文件,20.2.2,配置 ASP.NET Web 应用程序,Web.config,Web.config,文件中的身份验证和授权,配置的,设置,设置,ASP.NET,验证模式,授权或拒绝,对,Web,应用程序,的访问,20.2.3,Web.config 文件中的身份验证和授权,配置的,设置,Web.config,保护单个的,Web,页面,设置,要保护的,具体的页面,设置哪些人可以,访问该页面,课堂练习,使用,Web.config,文件,学生,根据,Web,应用程序规范和,web.config,文件判断用户的权限,时间:,5,分钟,第,20,章 保护,Web,页面安全,.NET,代码访问和基于角色的安全性,ASP.NET,身份验证方法的概述,在,ASP.NET,中使用,Windows,身份验证,使用,ASP.NET Forms,身份验证,在,ASP.NET,中使用,Windows,身份验证,启用,Windows,身份验证,课堂练习,使用,Windows,身份验证,启用,Windows,身份验证,配置,IIS,使用匿名访问和以下一种或多种身份验证,基本,摘要式,集成的,Windows,设置,Web.config,为,Windows,验证,1,2,启用,Windows,身份验证,设置,Web.config,中用户的授权,3,课堂练习,使用,Windows,身份验证,教师,打开,IIS,,配置匿名访问和基本身份验证,配置,Web.config,中的身份验证和授权,学生,运行,ASP.NET Web,应用程序,时间:,10,分钟,使用,ASP.NET Forms,身份验证,启用,Forms,身份验证,FormsAuthentication,对象,创建,登录页面,将基于角色的安全性与,ASP.NET Forms,身份验证一起使用,课堂练习,使用,ASP.NET Forms,身份验证,启用,Forms,身份验证,配置,IIS,启用匿名访问,设置,Web.config,为,Forms,身份验证,设置授权,创建登录页面,1,2,3,4,FormsAuthentication,对象,方法,说明,GetAuthCookie,为给定的用户名创建身份验证,Cookie,GetRedirectUrl,返回导致重定向到登录页的原始请求,URL,RedirectFromLoginPage,创建身份验证,Cookie,并将已验证身份的用户重定向回最初请求的,URL,SetAuthCookie,创建身份验证,Cookie,并将其附加到,Cookie,的传出响应,SignOut,删除身份验证,Cookie,创建登录页面,导入,System.Web.Security,命名空间,创建登录页面以验证和检查用户凭据,如果验证通过则重定向,从,Cookie,中重新读取用户凭据,User.Identity.Name,返回,FormsAuthentication.RedirectFromLoginPage,保存过的用户标识信息,if (bValidCredentials),FormsAuthentication.RedirectFromLoginPage _,(,strUserName, False) ;,Global.asax,中,Application_AuthenticateRequest,事件,根据通过验证的用户创建角色,把角色附加在通过验证的用户标识中,将基于角色的安全性与,ASP.NET Forms,身份验证一起使用,string WebRoles = new string2;,If(User.Identity.Name = Chris ),WebRoles(0) = Administrator“;,WebRoles(1) = Manager“;,HttpContext.Current.User = New _,System.Security.Principal.GenericPrincipal _,(User.Identity, WebRoles);,Visual Basic .NET,例子,C#,例子,课堂练习,使用,ASP.NET Forms,身份验证,教师,打开,IIS,并配置匿名访问验证,配置,Web.config,中的身份验证和授权,打开登录页面并查看源代码,学生,运行,ASP.NET Web,应用程序,时间:,10,分钟,
展开阅读全文