- 6
- 0
- 约8.2千字
- 约 7页
- 2016-11-27 发布于河南
- 举报
如何做:将表单身份验证用于 GenericPrincipal 对象
构建安全的 ASP.NET 应用程序身份验证、授权和安全通信
有关构建安全的 ASP.NET 应用程序 的起点和完整概述,请参见登陆页面。
总结
本“如何做”介绍在使用表单身份验证时如何创建和处理 GenericPrincipal 和 FormsIdentity 对象。
如何做:使用表单身份验证创建 GenericPrincipal 对象
使用表单身份验证的应用程序通常需要使用 GenericPrincipal 类(与 FormsIdentity 类)来创建非 Windows 特定的授权方案(与 Windows 域无关)。
例如,应用程序可以:
● 使用表单身份验证以获取用户凭据(用户名和密码)。
● 对照数据存储来验证提供的凭据;例如,数据库或 Microsoft? Active Directory? 目录服务。
● 基于从数据存储中检索的值来创建 GenericPrincipal 和 FormsIdentity 对象。它们可能包含用户角色的成员身份细节。
● 使用这些对象进行授权决策。
本“如何做”介绍如何创建基于表单的 Web 应用程序,以验证用户的身份和创建包含用户和角色信息的自定义表单身份验证票。这里还介绍了如何将此信息映射到 GenericPrincipal 和 FormsIdentity 对象中,并将此对象与 HTTP Web 请求上下文关联起来,以便将它们用于应用程序中的授权逻辑。
本“如何做”侧重于介绍如何构造 GenericPrincipal 和 FormsIdentity 对象和处理表单身份验证票。有关如何对照 Active Directory 和 SQL Server 2000 验证用户身份的详细信息,请参见本指南“参考”部分中的以下相关“如何做”内容:
● “如何将表单身份验证用于 Active Directory”
● “如何将表单身份验证用于 SQL Server 2000”
需求
以下各项介绍了推荐的硬件、软件、网络基础结构、技巧和知识以及您需要的服务包。
● Microsoft SQL Server? 2000
● Microsoft Visual Studio? .NET 开发系统
本篇文章中的各种过程也要求您具备使用 Microsoft Visual C#? 开发工具进行 ASP.NET Web 开发的相关知识。
总结
“如何做”包括如下过程:
1. 创建一个具有登录页面的 Web 应用程序
2. 配置 Web 应用程序的表单身份验证
3. 为经过身份验证的用户生成身份验证票
4. 构造 GenericPrincipal 和 FormsIdentity 对象
5. 测试应用程序
1. 创建一个具有登录页面的 Web 应用程序
该过程创建了一个新的 ASP.NET Web 应用程序。该应用程序将包含两个页面:默认页(仅允许已验证的用户进行访问)和登录页(用于搜集用户凭据)。
u 创建一个具有登录页面的 Web 应用程序
1. 启动 Visual Studio .NET,并创建一个新的名为 GenericPrincipalApp 的 C# ASP.NET Web 应用程序。
2. 将 WebForm1.aspx 重命名为 Logon.aspx。
3. 将以下控件添加到 Logon.aspx 中以创建登录表单。
表 1:Logon.aspx 控件
控件类型 文本 ID 标签 用户名: - 标签 密码 - 文本框 - txtUserName 文本框 - txtPassword 按钮 登录 btnLogon
5. 将密码文本框控件的 TextMode 属性设置为 Password。
6. 在解决方案资源管理器中,右键单击 GenericPrincipalApp,指向“添加”,然后单击“添加 Web 窗体”。
7. 输入 default.aspx 作为新的表单名,然后单击“打开”。
2. 配置 Web 应用程序的表单身份验证
u 编辑应用程序的 Web.config 文件来配置该应用程序的表单身份验证功能
1. 使用解决方案资源管理器打开 Web.config。
2. 查找 authentication 元素并将 mode 属性改为 Forms。
3. 将下面的 forms 元素作为 authentication 元素的一个子元素进行添加,并按如下所示设置 loginUrl、name、timeout 和 path 属性:
authentication mode=Forms
forms loginUrl=logon.aspx name=AuthCookie timeout=60 path=/
/for
原创力文档

文档评论(0)