六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

ASP.NET2.0應用中定制安全憑證之理論篇

[摘要]閱讀提要 在缺省狀況下,你只能使用Visual Studio 2005的一個本機實例來管理與ASP.NET 2.0一同發(fā)行的SQL Server數據庫中的安全憑證。本文將向你展示怎樣用一個Web服務來包裝ASP.NET 2.0提供者并通過使用一個Windows表單應用程序來管理憑證存儲從而擴展這種...
閱讀提要 在缺省狀況下,你只能使用Visual Studio 2005的一個本機實例來管理與ASP.NET 2.0一同發(fā)行的SQL Server數據庫中的安全憑證。本文將向你展示怎樣用一個Web服務來包裝ASP.NET 2.0提供者并通過使用一個Windows表單應用程序來管理憑證存儲從而擴展這種管理能力。

  如今,無論是互聯網還是企業(yè)內部局域網程序一般都要求使用定制的方式來存儲和管理用戶帳戶和角色。為此,ASP.NET 2.0提供了一個現成的提供者模型和一個SQL Sever數據庫。不幸的是,只能通過Visual Studio 2005來管理該憑證數據庫且只能針對本機Web應用程序。這無疑是非常不方便而且不能廣泛使用的。

  本文描述了一個超級用戶可以使用的完全定制的安全管理應用程序。這個應用程序通過用一個WEB服務對ASP.NET 2.0提供者進行了包裝并增加了一些功能。本文詳細描述了其中的設計方法,面臨的問題和包含在應用程序中的技術。同時還向你介紹了一些有用而強有力的技術,如基于接口的Web服務,基于反射的Web服務兼容性,高級C# 2.0編程,Web服務安全性和Web服務事務等。

  一、ASP.NET 2.0憑證基礎結構

  基于互聯網的應用程序常常不依賴Windows帳戶和組,而是依賴于基于表單的認證并結合某種如SQL Server的后臺定制憑證存儲。為了幫助開發(fā)者免除重復設計和構建這樣的解決方案,ASP.NET 2.0發(fā)行中加入了一個現成的安全憑證基礎結構。ASP.NET 2.0憑證存儲并不僅可用于ASP.NET應用程序,而且ASP.NET Web服務和Windows表單應用程序都能使用它來管理它們的用戶憑證。另外,Windows通訊基礎(編碼名為Indigo)服務也能被容易地設置來使用ASP.NET 2.0安全憑證存儲。

  ASP.NET 2.0使用一提供者模型來訪問和管理憑證以避免把應用程序耦合到任何特定存儲上。在利用抽象提供者模型的優(yōu)點的同時由程序員來開發(fā)這個應用程序。超級用戶負責選擇和管理特定的憑證存儲。圖1顯示出ASP.NET 2.0安全提供者的架構。

ASP.NET2.0應用中定制安全憑證之理論篇

圖1.ASP.NET 2.0安全提供者模型
  Membership Provider負責管理用戶,而Role Provider負責管理角色。在憑證存儲中,每個用戶或角色僅限于一應用程序之內。這樣就允許不同應用程序使用一樣的憑證存儲而不會與彼此的用戶名或角色相沖突。ASP.NET為SQL服務器、Windows和活動目錄(見圖1)等的憑證存儲提供支持。為了安裝SQL Server憑證數據庫,可以運行aspnet_regsql.exe程序,其位置是:

<WINDOWS>\Microsoft.NET\Framework\<version>

  這個安裝程序創(chuàng)建一個稱為aspnetdb的新數據庫-它包含一組應用程序的表、用戶、角色以及存取這些表的存儲過程。這個SQL Server數據庫是運用最新的安全技術經過精心設計的。另外,ASP.NET 2.0還提供一套相應于提供者的類(圖1)。

  使用哪個提供者的信息被保存在應用程序的配置文件(App.Config或Web.Config)中。你幾乎不需要直接與特定的提供者進行交互;而是,存在兩個靜態(tài)助理類:Membership和Roles-它們負責從配置文件中讀取使用哪個提供者。默認的提供者(即當沒有指定提供者時)就是SQL Server。Membership類(列表1)允許你創(chuàng)建和刪除用戶,檢索關于用戶的信息并觀看口令策略。

  列表1: Membership助理類

[Serializable]
public class MembershipUser{
 public virtual bool ChangePassword(string oldPassword,string newPassword);
 public virtual string GetPassword(string passwordAnswer);
 public virtual string ResetPassword(string passwordAnswer);
 public virtual bool UnlockUser();
 //其它成員
}
public static class Membership{
 public static string ApplicationName{get;set;}
 public static MembershipUser CreateUser(string username, string password);
 public static MembershipUser CreateUser(string username, 
 string password, string email, string passwordQuestion,
 string passwordAnswer, bool isApproved, out MembershipCreateStatus status);
 public static bool DeleteUser(string username,bool deleteAllRelatedData);
 public static MembershipUser GetUser(string username);
 public static void UpdateUser(MembershipUser user);
 public static bool ValidateUser(string username,string password);
 public static bool EnablePasswordReset{get;}
 public static bool EnablePasswordRetrieval{get;}
 //其它成員
}
  例如,為了在"MyApp"應用程序中創(chuàng)建一新用戶,你僅需如下編碼: 

Membership.ApplicationName = "MyApp";
Membership.CreateUser("MyUser","MyPassword",...);
  Roles類允許你創(chuàng)建和刪除用戶角色,從角色中添加或刪除用戶,檢索用戶的角色會員信息以及驗證角色會員。下面是該類的定義:

public static class Roles{
 public static string ApplicationName{get;set;}
 public static void CreateRole(string roleName);
 public static bool DeleteRole(string roleName, bool throwOnPopulatedRole);
 public static void AddUserToRole(string username, string roleName);
 public static void RemoveUserFromRole(string username, string roleName);
 public static string[] GetAllRoles();
 public static string[] GetRolesForUser(string username);
 public static string[] GetUsersInRole(string roleName);
 public static bool IsUserInRole(string username, string roleName);
 //其它成員
}
  例如,要把角色"Manager"添加到應用程序"MyApp"上,你可以如下編碼:

Roles.ApplicationName = "MyApp";
Roles.CreateRole("Manager");

[1] [2]  下一頁




主站蜘蛛池模板: 四虎影视在线永久免费观看 | 亚洲视频免费在线 | 中文伊人| 午夜涩涩| 色噜噜狠狠大色综合 | 青青青视频在线免费观看 | 香港毛片免费看 | 亚洲天堂91 | 色吊丝性永久免费看码 | 伊人亚洲综合网成人 | 亚洲福利一区 | 羞羞漫画弹窗 | 日本免费高清视频二区 | 日韩中字在线 | 五月婷六月丁香 | 日日摸夜夜添夜夜添97 | 性做久久久久久久 | 四虎最新紧急更新地址 | 色姣姣狠狠撩综合网 | 凸凹在线视频 | 自拍视频在线看 | 亚洲ol| 天天艹在线 | 青青伊人精品 | 色噜噜狠狠在爱丁香 | 亚洲欧美中文日韩在线v日本 | 四虎影院永久地址 | 午夜久久久久久亚洲国产精品 | 亚洲国产成人久久一区二区三区 | 小明www永久在线看 小黄鸭b站视频在线 | 伊人久久中文 | 欧美性黑人极品hd网站 | 日韩经典欧美一区二区三区 | 色狠狠干 | 亚州国产| 天天拍久久 | 五月一区二区久久综合天堂 | 四虎精品成人免费影视 | 日韩欧| 日本不卡在线视频高清免费 | 色色就色色 |