網頁使用者登入許可權校驗的兩種實現方式

2021-08-08 17:07:41 字數 2266 閱讀 6921

網頁登入介面進行登入後,如果不進行登入校驗,則在其它頁面無法知道該使用者是否進行了登入。故需要對使用者的登入進行校驗,這裡將介紹兩種登入校驗的方式。分別為利用自定義行為過濾器進行登入校驗,另外一種是構建控制器基類的校驗實現子類的登入校驗。具體實現如下:

這裡以session的方式進行使用者登入資訊儲存為例進行兩種方式的介紹:

方式一:自定義行為過濾器校驗:

第一步:在使用者登入成功後,將使用者資訊新增到session中:

//對提交的使用者名稱和密碼進行驗證

public actionresult processlogin()

if (inputnum != sessionnum)

#endregion

#region 登入驗證

string uid = request["logincode"];

string pwd = request["loginpwd"];

short delnum=(short) delflagenum.normal;

userinfo users= service.getentities(u => u.uname == uid && u.pwd == pwd && u.delflag == delnum).firstordefault();

if (users==null)

session["userlogin"] = users;   //將登入的使用者資訊儲存到session中

return content("ok");

#endregion }

第二步:建立自定義行為過濾器類:logincheckfilterattribute.cs具體**如下:

using system;

using system.collections.generic;

using system.linq;

using system.web;

using system.web.mvc;

namespace myoa.ui.models

public override void onactionexecuting(actionexecutingcontext filtercontext)

} }

} }

第三步:對要進行登入驗證的類或者方法新增上述自定義登入行為過濾器

using myoa.ui.models;

using system;

using system.collections.generic;

using system.linq;

using system.web;

using system.web.mvc;

namespace myoa.ui.controllers

} }

利用自定義行為過濾器進行登入校驗的主要步驟如上。如果某個類或者某個方法不需要實現登入校驗,則將ischeck賦值為false即可。

方式二:建立控制器基類實現子類的登入校驗

第一步:還是和上面的方法一樣,將使用者的登入資訊儲存到session中;

第二步:構建基類控制器basecontroller,並在基類控制器中實現登入校驗:

using model;

using system;

using system.collections.generic;

using system.linq;

using system.web;

using system.web.mvc;

namespace myoa.ui.controllers

//設定判定是否需要進行登入校驗的標誌

public bool ischecklogin = true;

protected override void onactionexecuting(actionexecutingcontext filtercontext)

else

} }

} }

第三步:將需要進行登入校驗的類繼承自

basecontroller基類控制器:

using myoa.ui.models;

using system;

using system.collections.generic;

using system.linq;

using system.web;

using system.web.mvc;

namespace myoa.ui.controllers

} }

web網頁,繞過登入的兩種方式

繞過登陸,訪問登陸後的頁面 方式一抓包獲取cookie import requests import urllib3 urllib3.disable warnings s requests.session s.verify false h body r s.post url,json body,he...

SSH的兩種登入方式

ssh客戶端使用的是xshell,windows環境。第一種方式,使用者名稱密碼方式 原理如下 xshell操作如下 第二種方式基於秘鑰的登入方式 現在拿伺服器a 192.168.204.192 訪問伺服器b 192.168.204.100 舉例 xshell操作如下 1.在伺服器a端生成rsa的公...

VB登入介面的兩種實現方式

由於框架內容已基本完成,下面就可以做些業戶性質的任務了。首先是登入介面的設計,常見的登入介面有兩種 第一種設程式在開始執行時顯示乙個登入視窗,驗證正確後才可以進入程式中,如qq。vb實現 vb程式的啟動可以設定為從登入窗體啟動,即工程 工程屬性 啟動物件,選擇要啟動的窗體即可。我一般喜歡從sub m...