zoukankan      html  css  js  c++  java
  • asp.net中的窗体身份验证(完整篇之二:asp.net的窗体身份验证过程)

    在《asp.net中的窗体身份验证(完整篇之一:创建asp.net的窗体身份验证方式)》中介绍了如何通过修改web.config文件来创建窗体身份验证。修改完web.config文件之后,网站就可以使用窗体身份验证方式来验证用户身份了。那么,整个身份验证的过程是怎么样的呢?

        前面说过,在asp.net中,身份验证过程分为两部分,一部分是IIS中的身份验证,只有通过了IIS中的身份验证之后,才行进行asp.net中的身份验证。一个完整的窗体身份验证流程如下所示:

    1. 首先,用户通过浏览器向服务器发送一个网页请求,假设用户要访问index.aspx网页,那么浏览器就会将请求发送给IIS服务器。
    2. 假设在该服务器中将IIS设置成可以匿名访问,那么IIS服务器将会允许访问index.aspx网页。
    3. IIS服务器允许访问之后,将会进入asp.net身份验证。asp.net会去web.config文件中查看<authorization>节点下的<deny>节点中是否拒绝所有匿名用户。如果拒绝了所有匿名用户,服务器则会去查找一个身份验证的Cookie。
    4. 如果服务器查找不到该身份验证的Cookie,就会将网页跳转到登录页面。这个登录页面为<forms>节点中的loginUrl属性值,默认为网站根目录下的login.aspx。在跳转到到登录页面时,服务器会将当前访问的网页的地址,如index.aspx,作为ReturnUrl参数值附加到login.aspx的URL中。如下所示:
      login.aspx?ReturnUrl=%2findex.aspx
    5. 用户在登录页面输入用户名和密码(或别的登录信息),并将这些信息提交到服务器。
    6. 服务器接收到用户提交的信息之后,判断用户是否为合法用户(判断方式有很多种,但这不是本文的重点),如果用户为合法用户,则创建一个包含窗体身份验证票的Cookie。
    7. 在创建完包含窗体身份验证票的Cookie之后,可以使用代码将网页跳回登录前访问的页面,如index.aspx网页(这个时侯ReturnUrl参数就起作用了)。
    8. 在登录后访问其它网页时(如跳转后的index.aspx页面),服务器会检测包含窗体身份验证的Cookie,并对用户进行身份验证。身份验证成功后,服务器返回用户需要访问的网页。

        以上就是一个完整的asp.net窗体身份验证流程,下面将会介绍如何按着该流程来编写asp.net代码。

  • 相关阅读:
    Codeforces Round #592 (Div. 2)C. The Football Season(暴力,循环节)
    Educational Codeforces Round 72 (Rated for Div. 2)D. Coloring Edges(想法)
    扩展KMP
    poj 1699 Best Sequence(dfs)
    KMP(思路分析)
    poj 1950 Dessert(dfs)
    poj 3278 Catch That Cow(BFS)
    素数环(回溯)
    sort与qsort
    poj 1952 buy low buy lower(DP)
  • 原文地址:https://www.cnblogs.com/sunshch/p/2526907.html
Copyright © 2011-2022 走看看