Forms 身份验证的控制流
来源:互联网 发布:js 隐藏class 编辑:程序博客网 时间:2024/05/16 11:36
Forms 身份验证的控制流如下表所示。
GET /default.aspx如果不存在身份验证 Cookie,则将请求重定向到登录页以收集凭据。有关起始页的信息使用 RETURNURL 作为关键字放置在查询字符串中。
302 FoundLocation: https://samples.microsoft.com/logon.aspx?RETURNURL=/default.aspx2 重定向到登录页。
GET /logon.aspx?RETURNURL=/default.aspx返回登录页。(使用安全套接字层 (SSL) 保护用户的凭据不会以明文形式发送,至少对于发送回登录页时应该如此。)
200 OK3 用户在登录窗体中输入凭据。
POST /logon.aspx?RETURNURL=/default.aspx验证用户凭据,如果凭据通过验证,则将浏览器重定向到从登录票中检索到的原始 URL。身份验证票作为 Cookie 发出。
302 FoundLocation: /default.aspx4 遵循重定向操作并再次请求原始资源。
GET /default.aspx如果用户已被授权,则允许访问并授予身份验证 Cookie,该 Cookie 中包含身份验证票。同一浏览器会话的以后的请求将在模块检查该 Cookie 时进行身份验证。可以创建可用于以后的会话的持久性 Cookie,但只能到 Cookie 的到期日期为止。
200 OKSet-Cookie: ASPXTICKET=ABCDEFG12345;Path=/
注意,路径设置为 /。由于 Cookie 名称区分大小写,这是为了防止站点中的 URL 的大小写不一致而采取的一种保护措施。例如,如果路径设置为 /SavingsPlan,而链接包含 /savingsplan,由于浏览器不会发送 Cookie,用户将被迫重新进行身份验证。
Forms 身份验证凭据
可以允许
<credentials passwordFormat="SHA1" > <user name="Kim" password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/> <user name="John" password="BA56E5E0366D003E98EA1C7F04ABF8FCB3753889"/></credentials>
注意,凭据对必须包含在 <credentials> 部分中,指定的密码哈希格式为“安全哈希算法 1”(SHA1),用户名为明文形式,密码则使用 SHA1 算法进行散列运算。
passwordFormat 属性是必需的;其可能的值列在下表中。
.NET Framework 包括一些类和方法,这些类和方法便于您以编程方式创建哈希值进行永久存储。
存储在文本文件中的哈希密码不能用于重新生成原始密码,但它们可能容易受到字典式攻击。在这种类型的攻击中,攻击者在获得对密码文件的访问权限之后,通过使用软件对一个大字典中的所有单词反复进行散列运算并将生成的哈希与存储的哈希进行比较,试图猜出密码。如果通过任何存储机制存储哈希密码,则您应该要求您的用户在选择密码时不要使用常用的单词,并且密码要包含一些数字和非文字数字字符以防止字典式攻击。
- Forms 身份验证的控制流
- asp.net forms身份验证控制
- Forms身份验证以及基于角色的权限控制
- Forms身份验证的应用
- ASP.NET的forms身份验证
- forms身份验证
- Forms身份验证
- Forms 身份验证
- Asp.net的身份验证之Forms身份验证 (一):
- Asp.net的身份验证之Forms身份验证 (二)
- Asp.net的身份验证之Forms身份验证 (三)
- Forms身份验证基于角色的授权
- 如何实现某一目录的forms身份验证
- 配置跨应用程序的 Forms 身份验证
- 如何实现某一目录的forms身份验证
- 如何实现某一目录的forms身份验证
- Forms身份验证基于角色的授权
- Forms身份验证基于角色的授权
- VBSCRIPT 生成 WORD 又一法
- Windows 用来定位 DLL 的搜索路径
- Linux文件查找命令find,xargs详述
- RFID系统的频段特点及主要应用领域
- 跟踪内存泄露的感想
- Forms 身份验证的控制流
- Linux的环境变量PATH中所带来的问题
- 查询表空间剩余空间百分比的错误方法纠正
- 一个简单的用户登录接口asp实现
- vsflexgrid技巧大全
- java Jdbc调用存储过程
- Class Wizard 出错: A duplicate insert block exists
- 将shell指定为bash
- Team Foundation Server Release Candidate 已经发布