ASP.net中Security.FormsAuthentication验证用户的状态(匿名|已登录)

专题图ylbtech-asp.net-logo编号:ylbtechASPnet100010010Security

1,功能描述

   ASP.net下利用System.Web.Security.FormsAuthentication类,验证用户的状态(匿名|已登录)

以项目为例1,在网站根节点下/UserInfo.aspx不允许匿名访问,其它都允许访问。2,在后(/Admin/)下/Admin/AdminLogin.aspx允许匿名访问,其它都拒绝访问。

2,技术与环境

  ASP.net下System.Web.Security.FormsAuthentication类,验证用户的状态(匿名|已登录)

3,数据库设计

 无

4,功能截图

 4.1,前台

  匿名状态下

 4.1.1  /Default.aspx

ASP.net中Security.FormsAuthentication验证用户的状态(匿名|已登录)

4.1.2  访问/UserInfo页面,将拒绝,并跳转到/SignIn页面

ASP.net中Security.FormsAuthentication验证用户的状态(匿名|已登录)                 

4.2,后台

   已登录状态下 /Admin/Default.aspx页面

ASP.net中Security.FormsAuthentication验证用户的状态(匿名|已登录)

 

5,代码分析

 5.1,前台

   5.1.1  /web.config   配置 

<?xml version="1.0"?>

<!--

  有关如何配置 ASP.NET 应用程序的详细信息,请访问

  http://go.microsoft.com/fwlink/?LinkId=169433

  -->

<configuration>

    <system.web>

        <!--

            通过 <authentication> 节可以配置 ASP.NET 用来 

            识别进入用户的

            安全身份验证模式。 

        -->

        <authentication mode="Forms">

            <forms loginUrl="SignIn.aspx" protection="All"></forms>

        </authentication>

    

    

        <compilation debug="true" targetFramework="4.0"/>

    </system.web>

  <!--

    配置根节点下面的页面

  -->

  <location path="UserInfo.aspx">

    <system.web>

      <authorization>

        <deny users="?"/>

      </authorization>

    </system.web>

  </location>

  

</configuration>

   5.1.2 /SignIn.aspx.cs  用户登录验证代码

using System;



using System.Web.Security;

public partial class Signin : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

    }

    protected void Button1_Click(object sender, EventArgs e)

    {



        //为用户创建一个身份验证票证

        FormsAuthentication.SetAuthCookie("ylb", false);

        

        //跳转到上一个页面

        string continueUrl = Request.QueryString["ReturnUrl"];

        if (String.IsNullOrEmpty(continueUrl))

        {

            continueUrl = "~/";

        }

        Response.Redirect(continueUrl);

    }

}

   5.1.3  /Admin/web.config

<?xml version="1.0"?>

<configuration>

  <!--

    允许匿名用户访问"/Admin/AdminLogin"页面

  -->

  <location path="AdminLogin.aspx">

    <system.web>

      <authorization>

        <allow users="*"/>

      </authorization>

    </system.web>

  </location>

  <!--

    拒绝匿名用户访问“/Admin/”下的页面,除去那些允许的。

  -->

    <system.web>

      <authorization>

        <deny users="?"/>

      </authorization>

    </system.web>

</configuration>

5.2,后台

  5.2.1  /Admin/Default.aspx.cs  用户退出代码

using System;



using System.Web.Security;

public partial class Admin_Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {



    }

    protected void btnLogout_Click(object sender, EventArgs e)

    {

        //删除Forms身份验证票

        FormsAuthentication.SignOut();



        //跳转到首页

        Response.Redirect("~/Default.aspx");

    }

}

 

6,示例|讲解案例下载

博客园讲解: http://ylbtech.cnblogs.com/

百度文库开发文档: http://passport.baidu.com/?business&aid=6&un=ylbtech#7

谷歌开源代码下载: http://code.google.com/p/ylbtechaspnet/downloads/list

请单击“ylbtechASPnet100010010Security”

 

warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 

最终目标

 代码的国际化标准示例 ylb,tech”,最大程度地规范软件编程开发统一,优质, 高效,易学,为建设软件强国(中国)而努力。

 

你可能感兴趣的:(Authentication)