第八章_Web应用的认证与授权_第1页
第八章_Web应用的认证与授权_第2页
第八章_Web应用的认证与授权_第3页
第八章_Web应用的认证与授权_第4页
第八章_Web应用的认证与授权_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第8章章 Web应用的认证与授权应用的认证与授权 内容内容 Web应用的认证应用的认证 Web应用的授权应用的授权 使用使用Membership实现实现Web应用的认证应用的认证 使用使用Role实现实现Web应用的授权应用的授权 Web应用的认证应用的认证 在在Web.config中配置认证信息中配置认证信息 ASP.NET中的认证中的认证 在ASP.NET中的认证过程 Windows认证 Form认证 Passport认证 在在Web.config中配置认证信息中配置认证信息 值 说明 Windows 将 Windows 认证指定为默认的身份认证模式。将它与以下任意 形式的 Micros

2、oft Internet 信息服务 (IIS) 身份认证结合起来使用 :基本、摘要、集成 Windows 身份认证 (NTLM/Kerberos) 或证 书。在这种情况下,我们的应用程序将身份认证责任委托给基 础 IIS Forms将 ASP.NET 基于窗体的身份认证指定为默认身份认证模式 Passport将 Microsoft Passport Network 身份认证指定为默认身份认证模 式 None不指定任何身份认证。我们的应用程序仅期待支持匿名用户, 否则它将提供自己的身份认证 . 在在ASP.NET中的认证过程中的认证过程 Windows认证认证 应用场景应用场景 应用程序使用 A

3、ctive Directory 用户存储 构建基于企业内部的Web应用 认证机制认证机制 WindowsAuthenticationModule 使用从 IIS 传递到 ASP.NET 的 Windows 访问令牌创建一个 WindowsPrincipal 对象 WindowsAuthenticationModule 类使用 P/Invoke 调用 Win32 函数并获得该用户所属的 Windows 组的列 表 WindowsAuthenticationModule 类将 WindowsPrincipal 对象存储在 HttpContext.User 属性中 演示和练习:在演示和练习:在IIS

4、中配置中配置Windows认证认证 多媒体演示多媒体演示 Form认证认证 Form认证场景认证场景 构建基于Internet的Web应用 需要建立自己的用户管理和存储机制 Form认证(续)认证(续) Form认证机制认证机制 在在Web.config中配置中配置Form认证认证 配置项配置说明 loginUrl指向应用程序的自定义登录页。应该将登录页放在需 要安全套接字层 (SSL) 的文件夹中。这有助于确保凭 据从浏览器传到 Web 服务器时的完整性 protection设置为 All,以指定窗体身份验证票的保密性和完整性 。配置该项后,将使用 machineKey 元素上指定的算 法对

5、身份验证票证进行加密,并且使用同样是 machineKey 元素上指定的哈希算法进行签名 timeout用于指定窗体身份验证会话的有限生存期。默认值为 30 分钟。如果颁发持久的窗体身份验证 Cookie, timeout 属性还用于设置持久 Cookie 的生存期 name和 path 设置为应用程序的配置文件中定义的值 requireSSL设置为 false。该配置意味着身份验证 Cookie 被通过未 经 SSL 加密的信道进行传输。如果担心会话窃取,应 考虑将 requireSSL 设置为 true 在在Web.config中配置中配置Form认证认证 配置项配置说明 slidingE

6、xpirati on 设置为 true 以执行变化的会话生存期。这意味着只要 用户在站点上处于活动状态,会话超时就会定期重置 defaultUrl设置为应用程序的 Default.aspx 页 cookieless设置为 UseDeviceProfile,以指定应用程序对所有支持 Cookie 的浏览器都使用 Cookie。如果不支持 Cookie 的浏览器访问该站点,窗体身份验证在 URL 上打包 身份验证票 enableCrossAp pRedirects 设置为 false,以指明窗体身份验证不支持自动处理在 应用程序之间传递的查询字符串上的票证以及作为某 个窗体 POST 一部分的传递

7、的票证 Passport认证认证 Passport认证是一种认证是一种Microsoft提供的集中认证服务提供的集中认证服务 使用使用Passport进行认证的步骤:进行认证的步骤: 获取.NET Passport Software Development Kit (SDK) 在Web.config文件中按如下代码来配置Passport认 证 使用.NET Passport SDK中的功能来实现认证 Web应用的授权应用的授权 概述概述 配置授权模块 FileAuthorizationModule UrlAuthorizationModule 文件授权文件授权 使用Windows ACL进行授

8、权 在Web.config中进行配置 ,指定相应目录或文件 不同的权限 URL授权授权 显式允许或拒绝某个用户名或角色对特定目录的访问权限显式允许或拒绝某个用户名或角色对特定目录的访问权限 在在Web.config中进行配置中进行配置 属性 说明 users标识此元素的目标身份(用户账户)。 用问号 (?) 标识匿名用户。可以用星号 (*) 指定所有 经过身份验证的用户 roles 为被允许或被拒绝访问资源的当前请求标识一个角色 (RolePrincipal 对象) verbs 定义操作所要应用到的 HTTP 谓词,如 GET、HEAD 和 POST。默认值为“*”,它指定了所有谓词 使用使用

9、Membership实现实现Web应用的认证应用的认证 Membership系统组件介绍系统组件介绍 配置和启用配置和启用Membership 成员资格应用编程接口成员资格应用编程接口 ASP.NET 登录控件登录控件 Membership数据存储和提供程序数据存储和提供程序 Membership系统组件介绍系统组件介绍 Membership Membership APIAPI MembershipMembership 数据数据 Other Data Stores 控件控件 LoginStatusLoginView Other Membership Providers Membership M

10、embership 提供程序提供程序 MembershipMembershipUser AspNetSqlMembershipProvider SQL Server Other Login Controls Login 配置和启用配置和启用Membership 将成员资格选项指定为站点配置的一部分将成员资格选项指定为站点配置的一部分 将应用程序配置为使用将应用程序配置为使用 Forms 身份验证(与身份验证(与 Windows 或或 Passport 身份验证不同)身份验证不同) 为成员资格定义用户账户为成员资格定义用户账户 成员资格应用编程接口成员资格应用编程接口 Membership Me

11、mbershipUser 演示和练习:通过演示和练习:通过Membership和和MembershipUser创创 建用户管理系统建用户管理系统 Membership 主要属性主要属性 名称 说明 ApplicationName 获取或设置应用程序的名称 EnablePasswordReset 获得一个值,指示当前成员资格提供程序是 否配置为允许用户重置其密码 EnablePasswordRetrie val 获得一个值,指示当前成员资格提供程序是 否配置为允许用户检索其密码 HashAlgorithmType 用于哈希密码的算法的标识符 MaxInvalidPasswordA ttempts

12、 获取锁定成员资格用户前允许的无效密码或 无效密码提示问题答案尝试次数 MinRequiredNonAlph anumericCharacters 获取有效密码中必须包含的最少特殊字符数 MinRequiredPassword Length 获取密码所要求的最小长度 Membership 主要属性主要属性 名称 说明 PasswordAttemptWind ow 获取在锁定成员资格用户之前允许的最大无 效密码或无效密码提示问题答案尝试次数的 分钟数 PasswordStrengthRegu larExpression 获取用于计算密码的正则表达式 Provider 获取对应用程序的默认成员资格

13、提供程序的 引用 Providers 获取一个用于 ASP.NET 应用程序的成员资格 提供程序的集合 RequiresQuestionAnd Answer 获取一个值,该值指示默认成员资格提供程 序是否要求用户在进行密码重置和检索时回 答密码提示问题 UserIsOnlineTimeWin dow 指定用户在最近一次活动的日期/时间戳之后 被视为联机的分钟数 Membership 主要方法主要方法 名称 说明 CreateUser 已重载。 将新用户添加到数据存储区 DeleteUser 已重载。 从数据库中删除一个用户 FindUsersByEmail 已重载。 获取一个成员资格用户的集合

14、,这些 用户的电子邮件地址包含要匹配的指定电子邮件 地址 FindUsersByName 已重载。 获取一个成员资格用户的集合,这些 用户的用户名包含要匹配的指定用户名 GeneratePassword 生成指定长度的随机密码 GetAllUsers 已重载。 获取数据库中用户的集合 GetNumberOfUsers Online 获取当前访问应用程序的用户数 GetUser 已重载。 从数据源获取成员资格用户的信息 Membership 主要方法主要方法 名称 说明 GetUserNameByE mail 获取一个用户名,其中该用户的电子邮件地址与 指定的电子邮件地址匹配 UpdateUse

15、r 用指定用户的信息更新数据库 ValidateUser 验证提供的用户名和密码是有效的 MembershipUser 主要属性主要属性 名称 说明 Comment 获取或设置成员资格用户的特定于应用程序的信 息 CreationDate 获取将用户添加到成员资格数据存储区的日期和 时间 Email 获取或设置成员资格用户的电子邮件地址 IsApproved 获取或设置一个值,表示是否可以对成员资格用 户进行身份验证 IsLockedOut 获取一个值,该值指示成员资格用户是否因被锁 定而无法进行验证 IsOnline 获取一个值,表示用户当前是否联机 LastActivityDate 获取或

16、设置成员资格用户上次进行身份验证或访 问应用程序的日期和时间 LastLockoutDate 获取最近一次锁定成员资格用户的日期和时间 MembershipUser 主要属性主要属性 名称 说明 LastLoginDate 获取或设置用户上次进行身份验证的日期和时间 LastPasswordChan gedDate 获取上次更新成员资格用户的密码的日期和时间 PasswordQuestion 获取成员资格用户的密码提示问题 ProviderName 获取成员资格提供程序的名称,该提供程序存储 并检索成员资格用户的用户信息 ProviderUserKey 从用户的成员资格数据源获取用户标识符 U

17、serName 获取成员资格用户的登录名 MembershipUser 主要方法主要方法 名称 说明 ChangePassword 更新成员资格数据存储区中成员资格用户的 密码 ChangePasswordQuest ionAndAnswer 更新成员资格数据存储区中成员资格用户的 密码提示问题和密码提示问题答案 GetPassword 已重载。 从成员资格数据存储区获取成员资 格用户的密码 ResetPassword 已重载。 将用户密码重置为一个自动生成的 新密码 ToString 已重写。 返回成员资格用户的用户名 UnlockUser 清除用户的锁定状态以便可以验证成员资格 用户 演示

18、和练习:通过演示和练习:通过Membership和和MembershipUser实现用户实现用户 管理功能管理功能 多媒体演示多媒体演示 ASP.NET 登录控件登录控件 CreateUserWizard 演示和练习:使用演示和练习:使用CreateUserWizard控件创建用户控件创建用户 Login 演示和练习:使用演示和练习:使用Login控件登录控件登录Web应用应用 其他控件其他控件 演示和练习:实现主要的用户管理和登录功能演示和练习:实现主要的用户管理和登录功能 CreateUserWizard CreateUserWizard 控件收集潜在用户提供的信息控件收集潜在用户提供的信

19、息 , 将新用户添加到将新用户添加到 ASP.NET 成员资格系统中成员资格系统中 演示和练习:使用演示和练习:使用CreateUserWizard控件创建用户控件创建用户 多媒体演示多媒体演示 Login 显示用于执行用户身份验证的用户界面显示用于执行用户身份验证的用户界面 使用使用Login控件,主要包括:控件,主要包括: 控制 Login 控件在用户登录时是否可见 指定登录成功时显示的页面 控制是否将身份验证令牌存储在持久性 Cookie 中 将“帮助”超链接添加到 Login 控件 将图像添加到 Login 控件 演示和练习:创建演示和练习:创建Login控件登录控件登录Web应用应用 多媒体演示多媒体演示 其他控件其他控件 LoginView LoginStatus LoginName PasswordRecovery ChangePassword 演示和练习:实现主要的用户管理和登录功能演示和练习:实现主要的用户管理和登录功能 多媒体演示多媒体演示 Membership数据存储和提供程序数据存储和提供程序 创建自定义成员资格提供程序主要有两个原因:创建自定义成员资格提供程序主要有两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论