<pre id="p1pz5"><delect id="p1pz5"></delect></pre>
<output id="p1pz5"><delect id="p1pz5"><listing id="p1pz5"></listing></delect></output>

<p id="p1pz5"></p>

<pre id="p1pz5"></pre>

<p id="p1pz5"></p>
<pre id="p1pz5"><output id="p1pz5"></output></pre>
<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre><pre id="p1pz5"></pre>

<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"><menuitem id="p1pz5"></menuitem></output></p>

<output id="p1pz5"></output>
<pre id="p1pz5"><output id="p1pz5"></output></pre>

<p id="p1pz5"><delect id="p1pz5"><menuitem id="p1pz5"></menuitem></delect></p>

<p id="p1pz5"></p>
<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"></p>

<output id="p1pz5"><delect id="p1pz5"></delect></output>

<p id="p1pz5"></p>

<p id="p1pz5"></p>

<p id="p1pz5"></p>
<p id="p1pz5"><delect id="p1pz5"><address id="p1pz5"></address></delect></p>

<pre id="p1pz5"></pre>

<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre>

畢業設計網
畢業設計論文 | 畢業設計任務書 | 計算機外文翻譯 | 文獻綜述 | 機械模具類 |

ASP.NET 2.0中的新增安全功能

摘要ASP.NET 2.0 包含一些新增功能,以使確保ASP.NET 應用程序的安全性變得比以前更加容易。了解如何使用新增的控件、工具和API 來控制對頁的訪問,并且使存儲有關用戶的信息變得更加容易。

 

ASP.NET 2.0 是在ASP.NET 1.x 的基礎之上構建的,使您能夠更加容易地創建和管理用戶,以及對Web 應用程序中的頁進行密碼保護。新的框架包含用于處理身份驗證和授權的新增功能,能夠同時滿足Web 站點管理員和開發人員的需要。Web 站點管理員可以利用新的Web 站點管理工具來創建新的用戶和角色,以及控制對Web 應用程序中頁面的訪問。Web 站點管理工具是一組預先編寫的ASP.NET 頁,不具備編程技巧的用戶可以使用它們來配置Web 應用程序。開發人員可以利用新增的Login控件,以便快速地在Web 應用程序中生成與安全性相關的頁面。例如,開發人員可以簡單地通過將Login 控件拖到.aspx 頁上來創建登錄頁。通過利用Login控件,開發人員可以生成登錄頁、注冊頁或密碼恢復頁,而無須編寫任何代碼。最后,ASP.NET 2.0 框架包含新增的安全性相關功能,這些功能能夠滿足高級開發人員的需要。新增的Membership API 是一組類,這些類包含用于創建和檢索有關應用程序用戶的信息的方法。此外,新的框架包含能夠使處理自定義用戶角色變得更加容易的類。

 

1. 安全性和提供程序模型

對于ASP.NET 2.0 框架,您感受到的最大變化是安全性非常有效。使用新的框架,您在啟用表單身份驗證之后,可以立即針對用戶數據庫來注冊和驗證用戶,而無須生成任何數據庫表或者編寫任何代碼。這是因為ASP.NET 2.0 框架使用提供程序模型來實現安全性。

提供程序模型(在整個ASP.NET 2.0 框架中使用)為您提供了插入組件(它們為您的應用程序實現不同的服務)的標準方法。ASP.NET 2.0 框架使用兩種類型的提供程序來實現安全性:成員身份提供程序和角色提供程序。成員身份提供程序用于存儲用戶名和密碼,而角色提供程序用于存儲用戶角色。默認的成員身份提供程序是AccessMembershipProvider。該提供程序在Microsoft Access 數據庫中存儲用戶名和密碼。將在應用程序的Data 文件夾中為您自動創建Access 數據庫(如果您意外刪除了Access 數據庫,則當您下次嘗試連接到該數據庫時,將自動重新創建該數據庫)。每當您創建新的Web 應用程序時,Access 提供程序都將自動創建您在開始驗證用戶身份時需要的所有內容。ASP.NET 2.0 框架附帶了兩個成員身份提供程序:默認的AccessMembershipProvider以及SqlMembershipProvider。如果您希望在Microsoft SQL Server 數據庫中存儲成員身份信息,則可以將您的應用程序配置為使用SqlMembershipProvider,而無須重新編寫任何應用程序代碼(啟用SqlMembershipProvider的步驟將在下一節討論)。您還可以創建自定義成員身份提供程序。例如,您可能希望在XML 文件、FoxPro 數據庫或Oracle 數據庫中存儲成員身份信息。您甚至還可能希望實現通過Web 服務檢索成員身份信息的成員身份提供程序。如果您希望創建您自己的成員身份提供程序,您需要實現抽象類MembershipProvider 的所有方法和屬性(成員身份提供程序只是MembershipProvider基類的一個實例而已)。

使用SqlMembershipProvider

如果您正在開發Web 應用程序,或者正在開發準備供少數用戶使用的應用程序,則使用Access 數據庫就已經很不錯了。然而,如果您需要生成更為健壯的應用程序,您需要在具有更高可伸縮性的數據庫(如Microsoft SQL Server)中存儲用戶名和密碼。如果您希望在Microsoft SQL Server 數據庫而不是默認的Microsoft Access 數據庫中存儲成員身份信息,則需要為您的應用程序修改默認的成員身份提供程序。如果您不希望手動更新應用程序的Web.Config 文件,您還可以通過使用Web 站點管理工具(在下一節中介紹)或用于Internet 信息服務的ASP.NET Microsoft 管理控制臺(MMC) 管理單元來切換提供程序。這兩個工具都為您提供了用于指定成員身份提供程序的用戶友好界面。

 

配置成員身份提供程序屬性

AccessMembershipProvider和SqlMembershipProvider都支持多個為提供程序所特有的屬性?梢允褂眠@些成員身份提供程序屬性來控制在數據庫中存儲和檢索成員身份信息的方法?梢栽趹贸绦虻腤eb 配置文件中更改這些屬性的值。例如,passwordFormat屬性確定了在數據庫中存儲密碼的方式。您可以選擇存儲明文密碼、加密密碼或密碼哈希值。出于安全原因,您可能希望在數據庫中存儲哈希值而不是實際的密碼,以便在您的Web 應用程序受到損害時,使黑客無法竊取實際的用戶密碼。還要注意,您還可以通過設置enablePasswordRetrieval屬性,允許或禁止從數據庫中檢索用戶密碼。同樣,為了確保安全,您可能不希望允許用戶檢索他們的密碼。

以上是一部分介紹,如需要完整的資料或者如不符合您的要求,請聯系技術人員qq:1587620172咨詢 微信:phpvisa66

上一篇:asp網站圖形驗證碼_開題報告_文獻綜述
下一篇:基于IPv6的下一代校園網設計


版權所有 畢業設計網聯系qq:1587620172 © 2007-2022

蝴蝶中文综合娱乐网

<pre id="p1pz5"><delect id="p1pz5"></delect></pre>
<output id="p1pz5"><delect id="p1pz5"><listing id="p1pz5"></listing></delect></output>

<p id="p1pz5"></p>

<pre id="p1pz5"></pre>

<p id="p1pz5"></p>
<pre id="p1pz5"><output id="p1pz5"></output></pre>
<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre><pre id="p1pz5"></pre>

<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"><menuitem id="p1pz5"></menuitem></output></p>

<output id="p1pz5"></output>
<pre id="p1pz5"><output id="p1pz5"></output></pre>

<p id="p1pz5"><delect id="p1pz5"><menuitem id="p1pz5"></menuitem></delect></p>

<p id="p1pz5"></p>
<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"></p>

<output id="p1pz5"><delect id="p1pz5"></delect></output>

<p id="p1pz5"></p>

<p id="p1pz5"></p>

<p id="p1pz5"></p>
<p id="p1pz5"><delect id="p1pz5"><address id="p1pz5"></address></delect></p>

<pre id="p1pz5"></pre>

<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre>