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

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

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]  下一頁




主站蜘蛛池模板: 在线伊人网 | 综合色亚洲 | 青青草原网站在线观看 | 在线观看一区 | 午夜天堂在线视频 | 午夜福免费福利在线观看 | 天天伊人 | 日韩欧美专区 | 深爱激情五月网 | 亚洲永久在线 | 婷婷 色天使 | 羞羞色在线 | 亚洲日本网站 | 亚洲三级中文字幕 | 日韩第一页在线观看 | 亚洲a级片在线观看 | 青春草在线观看播放免费视频 | 小明www永久在线看 小黄鸭b站视频在线 | 深爱五月激情五月 | 日本aⅴ在线观看 | 欧美小视频在线 | 四虎在线免费播放 | 天天躁狠狠躁夜躁2021 | 日日麻批视频 | 亚洲六月丁香婷婷综合 | 日韩精品福利视频一区二区三区 | 五月天婷婷网站 | 亚洲第一久久 | 午夜久久久久久久 | 天堂资源在线8 | 日韩啊啊啊 | 天天看片天天爽_免费播放 天天看片天天爽 | 日韩精品亚洲专区在线影视 | 最新日韩在线观看 | 亚洲精品免费在线观看 | 青青草国产精品视频 | 亚洲欧美久久婷婷爱综合一区天堂 | 亚洲 欧美 另类 综合 日韩 | 日日摸夜夜爽人人添 | 亚洲精品123区 | 欧美性乱 |