zoukankan      html  css  js  c++  java
  • ASP.NET 登录验证模式

    登录验证模式:

      1.配置

            <authentication mode="Forms">
                <forms loginUrl="~\Membership\authing\Login.aspx" timeout="30000">
                </forms>
            </authentication>

       在此处配置了loginUrl后,不需要在代码中手工判断是否登录,如未登录导至登录页面。

            <authorization>
                <deny users="?"/> <!--拒绝未认证用户,如不加此节点默认为允许所有用户访问-->
            </authorization>

       要想上面的那个FROMS 认证起用,还需配置上面这个节点,用以拒绝未认证用户的访问。

       2.如何实现登录与退出

       authentication 节点对应System.Security.FormsAuthentication类。

       在转到Login页后,验证完用户,可使用System.Security.FormsAuthentication类进行登录成功。

       例:FormsAuthentication.RedirectFromLoginPage("UserName", true);

       再使用Context.User.Identity.Name 来取得当前登录用户名

       登录成功后可使用FormsAuthentication.SignOut(); 来退出登录,但需注意,此处需要手工重导到登录页,或者再触发一次页面。

       3.跨应用实现Forms认证

       启用了跨多个 ASP.NET 应用程序的 Forms 身份验证,则当用户在应用程序之间切换时,不需要对他们重新进行身份验证。实现单点登录功能。

       要配置跨应用程序的 Forms 身份验证,请在forms和machineKey配置节中设置若干属性,以便值对于参与共享 Forms 身份验证的所有应用程序都是相同的。

    下面的示例演示了 Web.config 文件的authentication 节。除非另行说明,否则 name、protection、path、validationKey、validation、decryptionKey 和 decryption 属性必须在所有应用程序中都完全相同。同样,用于 Cookie 数据的加密和验证密钥以及加密方案和验证方案也必须完全相同。如果设置不匹配,则不能共享 Cookie。

    <configuration>
      <system.web>
        <authentication mode="Forms" >
          <!-- The name, protection, and path attributes must match
               exactly in each Web.config file. -->
          <forms loginUrl="login.aspx"
            name=".ASPXFORMSAUTH"
            protection="All" 
            path="/"
            timeout="30" />
        </authentication>

        <!-- Validation and decryption keys must exactly match and cannot
             be set to "AutoGenerate". The validation and decryption
             algorithms must also be the same. -->
        <machineKey
          validationKey="C50B3C89CB21F4F1422FF158A5B42D0E8DB8CB5CDA1742572A487D9401E3400267682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE"
          decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F"
          validation="SHA1" />
      </system.web>
    </configuration>

    作者:行走的贝壳

    来源贝壳笔记 (http://ronli.cnblogs.com)

  • 相关阅读:
    Tribonacci UVA 12470 (简单的斐波拉契数列)(矩阵快速幂)
    P1091 合唱队形
    P1481 魔族密码 (LIS)
    xiaowuga poj3735—Training little cats(特殊操作转化为矩阵操作)
    P2665 [USACO08FEB]连线游戏Game of Lines
    1875 丢手绢 (模拟+打表)
    Recurrences UVA 10870 (斐波拉契的一般形式推广)
    Choosing number ZOJ 3690 (矩阵快速幂)
    根据屏幕文件生成RPG代码的思路
    基于配置文件的查询,xml文件sample
  • 原文地址:https://www.cnblogs.com/ronli/p/1595062.html
Copyright © 2011-2022 走看看