このようなドメイン名などのパラメータを、現在のメソッドのasp.netページのファイル名を取得します。統一されたセッション認証と権限の確認方法...

ASP.netは、現在のページのファイル名を取り戻します

System.IO.Path.GetFileName(Request.Path).ToString();

このようなドメイン名などのパラメータを、現在のメソッドのページのファイル名を取得します。

仮定し、現在のページの完全なアドレスは次のとおりです。http://www.test.com/aaa/bbb.aspx ID = 5&名前=ケリー?

「のHttp://」プロトコル名です

「Www.test.comは、」ドメイン名です

「AAAは」仮想ディレクトリの名前です。

「Bbb.aspxは、」ページ名(ファイル名)であります

"ID = 5&名前=ケリー" パラメータ


[1]完全なURL(プロトコル名+名+仮想ディレクトリ名+ファイル名+パラメータ)のために

文字列のURL = Request.Url.ToString();

URL = http://www.test.com/aaa/bbb.aspx?id=5&name=kelli

[2]仮想ディレクトリ名+名+パラメータページを取得します:

文字列のURL = Request.RawUrl。

(或文字列のURL = Request.Url.PathAndQuery;)

URL = /aaa/bbb.aspx?id=5&name=kelli

[3]仮想ディレクトリ名+ページ名を取得します:

文字列のURL = HttpContext.Current.Request.Url.AbsolutePath。

(或文字列のURL = HttpContext.Current.Request.Path;)

URL = /aaa/bbb.aspx

[4]のドメイン名を取得します。

文字列のURL = HttpContext.Current.Request.Url.Host。

URL = www.test.com

[5]収集パラメータ:

文字列のURL = HttpContext.Current.Request.Url.Query。

URL =?ID = 5&名前=ケリー

場合、Request.QueryString [ "ID"]、および場合、Request.QueryString [ "名前"]はパラメータにアクセスします

私たちは、このプロパティで「前」に戻すことができるようにRequest.UrlReferrerのURLは、クライアントの最後のリクエストについての情報を得ることができます。

同様に、クライアントのパラメータを取得することができますRequest.UrlReferrer.Query部分は、最後のURLを要求しました。

統一認証:

最近、私はここに書き出し、良い統一認証方法を発見し、私はまだマスター1月の誘導を期待している、適切な場所がないテストに合格したが、非常に明確ではありません。

クラスファイル以下appcodeフォルダ、クラス継承ページの新機能、ファイルにpage.loadイベントを追加し、また、このクラスを継承したファイルを.csファイル検証する必要があります。イラスト

BasePage_mana.cs新しいクラスファイル:

  1. 使用 にSystem.Collectionsを。  
  2. 使用して のSystem.Webを。  
  3. 使用して System.Web.Securityを。  
  4. 使用し たSystem.Web.UIを。  
  5. 使用して System.Web.UI.WebControlsを。  
  6. 使用して System.Web.UI.WebControls.WebPartsを。  
  7. 使用して System.Web.UI.HtmlControlsを。  
  8. 使用して WebUtilを。  
  9. 使用して SysModelを。  
  10. 使用して SysDalを。  
  11.   
  12. /// <要約>  
  13. ///すべての管理ページでは、認証と権限検証操作ここではセッションで、このクラスを継承します。  
  14. /// </要約>  
  15. パブリッククラス BasePage_mana:System.Web.UI.Page   
  16. {  
  17.     公共 BasePage_mana()  
  18.     {  
  19.         この.LOAD + =  新しい EventHandlerの(thisLoad)。  
  20.         //  
  21.         // TODO:検証手順を改善する必要がある(TODO:ヒント未完の仕事)  
  22.         //  
  23.     }  
  24.     無効 thisLoad(オブジェクト 送信者、EventArgsの電子)  
  25.     {  
  26. 検証手順を改善する必要が#warning(警告は、警告の設定です)  
  27.         もし (System.String.IsNullOrEmpty(セッション[ "BN_JobNum" などの文字列))   
  28.         {  
  29.             Response.Writeを( "<MCE:スクリプト言語= 'javascriptの' > <! -  
  30. アラートは、('再ログインをしてください!' ); parent.location.href =は'../login_test.aspx' ;  
  31. // - > </ MCE:スクリプト> ");  
  32.             Response.Endの();  
  33.         }  
  34.         PurviewDAL Pdal =  新しい PurviewDAL();  
  35.         文字列の ページ名= System.IO.Path.GetFileName(Request.Path).ToString(); あなたが統一判断を達成できるように、//私はクラスの右の判断を行うためにここにいる、私は、権利の名前としてファイル名を入れます  
  36.         もし (Pdal.PowerControl(セッション[ "BN_JobNum" ] .ToString()、ページ名)==  falseの)  
  37.         {  
  38.             Response.Writeを( "<MCE:スクリプト言語= javascriptの> <! -  
  39. アラート('あなたが許可されていません!' ); history.go(-1);  
  40. // - > </ MCE:スクリプト> ");  
  41.             Response.Endの();  
  42.         }  
  43.     }  
  44. }  

その後、文書でこのクラスを拡張Test.aspxという

  1. 使用して システムを。  
  2. 使用して System.Dataを。  
  3. 使用 System.Configurationを。  
  4. 使用 にSystem.Collectionsを。  
  5. 使用して のSystem.Webを。  
  6. 使用して System.Web.Securityを。  
  7. 使用し たSystem.Web.UIを。  
  8. 使用して System.Web.UI.WebControlsを。  
  9. 使用して System.Web.UI.WebControls.WebPartsを。  
  10. 使用して System.Web.UI.HtmlControlsを。  
  11. 使用して System.Collections.Genericを。  
  12. 使用 OnlineUser;  
  13. 使用して SysModelを。  
  14. 使用して SysDalを。  
  15. 使用して WebUtilを。  
  16.   
  17. 公共 部分  クラス テスト:BasePage_do //作成し、そのクラスを継承  
  18. {  
  19.     保護された、ボイド をPage_Load(オブジェクト 送信者、EventArgsの電子)   
  20.     {}  

ます。https://www.cnblogs.com/zhangchenliang/archive/2011/05/09/2040928.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_34061555/article/details/93496087