您目前已離線,請等候您的網際網路重新連線

如何使用 Visual C#.NET,ASP.NET 應用程式中實作角色架構安全性與表單基礎的驗證

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:311495
本文章的有 Microsoft Visual Basic.NET] 版本請參閱 306238

本文參照下列 Microsoft.NET Framework 類別庫命名空間:
  • System.Web.Security
  • System.Security.Principal

在此工作

結論
本文將告訴您,如何在 ASP.NET 應用程式實作表單基礎的驗證,使用 Visual C#.NET 中實作角色架構安全性


需求

本文假設您已經有實作表單型驗證 ASP.NET 應用程式上。
301240如何使用 C#.NET 的 ASP.NET 應用程式中實作表單型驗證

指派角色給驗證的使用者

因為通常表單使用者不是 Microsoft Windows 使用者,它們並沒有任何預設與它們相關聯的角色。因此,您必須附加驗證使用者的角色至使用者的身分,讓您可以在您的程式碼內實作角色架構安全性。

請使用本節中的範例程式碼在您的應用程式中實作角色架構安全性。這個範例程式碼會指定 pre-specified 的角色給驗證的使用者。視您如何儲存使用者資料,您可以實作您自己的方法,擷取該已驗證使用者的角色,並將這些角色附加驗證的使用者識別身份範例程式碼,請依照下列所示。

將下列程式碼複製到現有的應用程式,才能指派該角色給 Application_AuthenticateRequest 事件處理常式中驗證的使用者 Global.asax 檔中:
public void Application_AuthenticateRequest( Object src , EventArgs e ){   if (!(HttpContext.Current.User == null))   {      if (HttpContext.Current.User.Identity.AuthenticationType == "Forms" )      {      System.Web.Security.FormsIdentity id;      id = (System.Web.Security.FormsIdentity)HttpContext.Current.User.Identity;      String[] myRoles = new String[2];      myRoles[0] = "Manager";      myRoles[1] = "Admin";      HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles);      }   }}				

檢查使用者角色,並在.ASPX 頁面中實作程式邏輯

下列步驟將示範如何實作和控制驗證的使用者所屬的角色所根據的程式邏輯。
  1. 建立名為 Sample.aspx 的.aspx 新的頁面和貼上下列程式碼:
    <%@ Page Language="C#" %><%@ Import Namespace="System.Web" %>  <script runat=server>    public void Page_Load() {	if (User.IsInRole("Admin")){		Response.Write ("You are an Administrator");}	else {		Response.Write ("You do not have any role assigned");}    }  </script>					
  2. 在您現有的應用程式中儲存 Sample.aspx。瀏覽到頁面以進行測試。
参考
如 ASP.NET 安全性功能的其他有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
306590資訊: ASP.NET 安全性概觀
以角色為基礎的安全性的詳細資訊,請參照到 「 下列.NET Framework 軟體開發套件 (SDK) 文件:在下列 MSDN 網站的文件與來源程式碼也包含關於以角色為基礎的安全性資訊:Microsoft 提供協力廠商連絡資訊可協助您尋找技術支援。 此連絡人資訊若有變更恕不另行通知。Microsoft 不保證此第三方連絡資訊的正確性。

警告:本文為自動翻譯

內容

文章識別碼:311495 - 最後檢閱時間:04/19/2007 07:58:30 - 修訂: 3.9

Microsoft ASP.NET 1.0, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft ASP.NET 1.1, Microsoft Visual C# .NET 2003 標準版

  • kbmt kbhowtomaster kbsecurity KB311495 KbMtzh
意見反應
l = ""; document.write("