如何做:将表单身份验证用于 SQL Server 2000.docVIP

  • 6
  • 0
  • 约9.69千字
  • 约 9页
  • 2016-11-27 发布于河南
  • 举报

如何做:将表单身份验证用于 SQL Server 2000.doc

如何做:将表单身份验证用于 SQL Server 2000

构建安全的 ASP.NET 应用程序 身份验证、授权和安全通信 有关构建安全的 ASP.NET 应用程序 的起点和完整概述,请参见登陆页面。 总结 本“如何做”介绍如何在 SQL Server 凭据存储上实现表单身份验证。这里还介绍了如何在数据库中存储密码摘要。 如何做:将表单身份验证用于 SQL Server 2000 通常,使用表单身份验证的 Web 应用程序将用户凭据(用户名和密码)与关联的角色或组列表存储在 Microsoft? SQL Server? 2000 中。 本“如何做”介绍如何安全地查找用户名并针对 SQL Server 2000 验证密码。以下是两个有关安全地存储用户凭据的重要概念: ● 存储密码摘要。出于安全方面的原因,不应以明文的方式将密码存储在数据库中。本“如何做”介绍如何创建和存储用户密码的单向哈希值,而不是存储密码本身。为了避免出现与加密技术有关的密钥管理问题,应首选使用此方法,而不是存储加密的用户密码版本。 为了提高安全性并降低与字典攻击有关的威胁,本“如何做”中介绍的方法在创建密码哈希值之前将 salt(使用加密技术生成的随机数)与密码结合起来。 要点:不将密码存储在数据库中的一个缺点是,如果用户忘记了密码,则它不可以恢复。因此,应用程序应该使用密码提示,并将它们与密码摘要一起存储在数据库中。 ● 验证用户输入。在将用户输入传递给 SQL 命令时(例如,作为比较或模式匹配语句中的字符串),应该仔细验证输入以确保生成的命令不包含语法错误,并且还要确保黑客不能使您的应用程序运行任意 SQL 命令。在登录过程中验证提供的用户名是非常重要的,因为您的应用程序安全模型完全取决于能否正确且安全地验证用户的身份。 有关验证 SQL 命令的用户输入的详细信息,请参见第 12 章“数据访问安全性”中的“SQL 插入攻击”。 需求 以下各项介绍了推荐的硬件、软件、网络基础结构、技巧和知识以及您需要的服务包。 ● Microsoft Windows? 2000 操作系统 ● Microsoft Visual Studio? .NET 开发系统 ● Microsoft SQL Server 2000 本“如何做”中的过程还要求您了解使用 Microsoft Visual C#? 开发工具进行 Web 开发的相关知识。 总结 “如何做”包括如下过程: 1. 创建一个具有登录页面的 Web 应用程序 2. 配置 Web 应用程序的表单身份验证 3. 开发函数,以生成哈希值和 Salt 值 4. 创建用户帐户数据库 5. 使用 ADO.NET 在数据库中存储帐户详细信息 6. 对照数据库验证用户凭据 7. 测试应用程序 1. 创建一个具有登录页面的 Web 应用程序 此过程创建一个具有登录页面的简单 C# Web 应用程序,用户可以在该页面上输入用户名和密码。 u 创建一个具有登录页面的 Web 应用程序 1. 启动 Visual Studio .NET,创建一个名为 FormsAuthSQL 的新 C# ASP.NET Web 应用程序。 2. 使用解决方案资源管理器将 WebForm1.aspx 重命名为 Logon.aspx 3. 将表 1 中所列的控件添加到 Logon.aspx,创建一个简单的登录表单。 表 1:Logon.aspx 控件 控件类型 文本 ID 标签 用户名: - 标签 密码 - 文本框 - txtUserName 文本框 - txtPassword 按钮 注册 btnRegister 按钮 登录 btnLogon 标签 - lblMessage 您的 Web 页应类似于图 1 中所示的页面。 {Insert figure: How To - LogonWebForm.gif} 图 1 登录页 Web 表单 5. 将 txtPassword 的 TextMode 属性设置为 Password。 2. 配置 Web 应用程序的表单身份验证 此过程编辑应用程序的 Web.config 文件,以配置该应用程序的表单身份验证。 u 配置 Web 应用程序的表单身份验证 1. 使用解决方案资源管理器打开 Web.config。 2. 查找 authentication 元素并将 mode 属性改为 Forms。 3. 将下面的 forms 元素作为 authentication 元素的一个子元素进行添加,并按如下所示设置 loginUrl、name、timeout 和 path 属性。 authentication mode=Forms forms loginUrl=logon.aspx name=

文档评论(0)

1亿VIP精品文档

相关文档