登入測試頁面

來源:互聯網
上載者:User

三十八、建立test頁

這個網頁只有登入的使用者才可以看,

 

三十九、登入測試頁面

  網站管理員操作的後台頁面有很多,在每個頁面加這段代碼的話,自己累,使用者也非常的不爽。我們有什麼好的方法處理這個問題嗎?

可以用過濾器:HttpModule---其中最核心的就是19個事件。

 

四十、19個事件

  看錶,得知使用第九個。如何使用這張表:由於每一個動態網頁面都會走過濾器,我們就可以在過濾器裡面進行判斷。過濾器有19個事件,我們一查表發現是第9個。

  那麼,我們怎麼去使用第9個事件呢?

 可以自己定義個類,來繼承HttpModule這個介面,也可以在全域設定檔裡面,到底使用哪種方式,隨便你.

下面我寫好了這段代碼,分享原始碼貢大家使用:

插入CheckAdminModule.cs位置:

1 using System; 2 using System.Data; 3 using System.Configuration; 4 using System.Linq; 5 using System.Web; 6 using System.Web.Security; 7 using System.Web.UI; 8 using System.Web.UI.HtmlControls; 9 using System.Web.UI.WebControls;10 using System.Web.UI.WebControls.WebParts;11 using System.Xml.Linq;12 13 namespace Web.Common14 {15     //1.自己定義個類繼承自IHttpModule16     public class CheckAdminModule:IHttpModule17     {18         #region IHttpModule 成員19 20         //2.IHttpModule裡面有個主要的方法Init ,參數是HttpApplication。這就是我們的請求管道。21         public void Init(HttpApplication context)22           //3.擷取第9個事件,通過委託調OnRequest這個方法23         {24             context.AcquireRequestState+=new EventHandler(OnRequest);25            26         }27         //4.看下這個方法怎麼做的呢?28         public void OnRequest(object source, EventArgs e)29         {30             HttpApplication application = source as HttpApplication;//得到Application31             HttpContext context = application.Context;//得到請求上下文.32             Uri url = context.Request.Url;//得到當前請求的URL33              34             //5.請求Admin目錄下的檔案時,需要進行身分識別驗證,只有管理員才能訪問.35             //6.為什麼做個判斷呢?就是我的背景管理頁面都要放在單獨的檔案夾裡面,放在了admin裡面了。如果下一步請求admin檔案夾下的檔案的話,肯定會帶檔案夾的名字。就判斷一下這個路徑裡面有沒有admin?有的話,就是請求的admin36             if (url.AbsolutePath.ToLower().StartsWith("/admin"))37             {38                 //adminlogin.aspx和logout.aspx不需要身分識別驗證39                 //7.如果是的話,再判斷一下,這個路徑的末尾包不包含:adminlogin.aspx。包含的話,可以訪問40                 if (url.AbsolutePath.ToLower().EndsWith("adminlogin.aspx"))41                 {42                     return;43                 }44                 //退出45                 if (url.AbsolutePath.ToLower().EndsWith("loginout.aspx"))46                 {47                     return;48                 }49                 //8.如果是admin下的一個檔案但不是登陸退出的話,下一步就校正session,如果session為空白的話,直接跳到登陸頁面就行了。50                 if (HttpContext.Current.Session["Name"] == null)51                 {52                     HttpContext.Current.Response.Redirect("adminlogin.aspx");53                 }54 55 56             }57         }58 59         public void Dispose()60         {61             throw new NotImplementedException();62         }63 64         #endregion65     }66 }

關鍵是配置項,我們要在Web.config裡面配置一下。

                       

四十一、Web.config

上面的內容中我們把登入給大家寫了一下,接著我們看下登入成功以後

 

四十二、跳轉一

 

四十三、跳轉二

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.