999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Web的校園網統一身份認證系統的實現

2012-04-29 00:00:00孫守強
中國新通信 2012年19期

【摘要】本文提出了一個基于.NET Passport認證機制的統一身份認證系統,本系統利用Windows 2003系統自帶的Active Directory組件建立目錄服務數據庫和SQLServer數據庫,實現用戶信息、組織架構和角色的統一管理,利用.NET WebService技術實現用戶單點登錄,實現用戶統一身份認證,為數字化校園建設提供了技術參考。

【關鍵詞】統一認證Active DirectoryWebServiceASP.NET單點登錄

目前,數字化校園已成為建設現代化高校的建設目標之一,基于校園網的應用系統也越來越多,如數字化圖書館、一卡通系統、教務管理系統、校園網BBS系統等,在沒有統一身份管理的情況下,不同的業務系統需要各自維護一套用戶身份信息。對于普通用戶而言,需要對每個系統記憶一套登錄名和密碼。隨著系統數量增加,用戶必將通過降低密碼復雜度等為代價記住不同系統的登錄信息。一套統一的身份管理系統能夠讓IT集中精力,只要完善一套身份管理系統的維護,就能提綱挈領統攬全局。

1統一認證框架設計

本系統的框架采用.NET平臺進行設計,從邏輯角度上將系統框架分為:表示層、業務層、業務數據訪問層、數據訪問層,每層完成不同的功能,系統的邏輯框架設計如圖1所示。

(1)管理界面使用ASP.NET實現,管理員通過IE瀏覽器使用HTTP協議訪問管理站點,實現用戶信息、部門信息和角色的統一管理。

圖2統一認證框架結構圖

(2)接口組件使用ASP.NET Web Services實現,應用系統通過SOAP協議與接口組件進行交互,Web Services集成引擎通過各類接口和功能模塊將各應用子系統封裝成Web Services部件后發布到UDDI注冊中心,并通過接口調用相應的應用服務,實現系統的單點登錄和授權服務。

(3)所有的功能組件,包括數據庫訪問組件和AD訪問組件,使用.NET平臺實現,并作為程序集進行發布。

(4)SQLServer數據庫存儲權限信息和校內用戶信息,Windows活動目錄(AD)是整個統一身份認證系統的基礎,采用標準的LDAP目錄服務數據庫,以層次結構、面向對象的數據庫方式存儲校內用戶信息和應用系統信息,SQLServer數據庫和活動目錄實現數據同步,保證了數據的一致性和完整性,為校園網的各類應用系統提供用戶信息的共享和使用。

(5)數據庫訪問組件通過ADO.NET與數據庫交互。AD訪問組件通過.NET的類庫使用LDAP協議與活動目錄交互。

2統一認證的實現

統一身份認證平臺包含三大邏輯組成部分:目錄服務、用戶身份管理服務和用戶身份認證服務,統一認證系統設計的核心是用戶身份認證服務,用目錄服務數據庫集中存儲用戶的信息和各個應用系統的信息,實現對用戶的集中管理、統一認證和統一授權,以及實現對應用系統的訪問控制。

2.1目錄服務及用戶身份管理服務的實現

目錄服務是一種特殊的數據庫系統,可以存儲包括個人信息、web鏈結、jpeg圖像等各種更新頻率不大的信息。通過運行在TCP/IP之上的訪問協議—LDAP(Lightweight Directory Access Protocol)輕型目錄訪問協議訪問Acitve Directory中的數據。

1.目錄設計

根據調研結果中的學院、行政機構、中心等各種組織機構及下級分支機構、人員來構建整個樹狀目錄。系統目錄設計按照以下原則進行。

(1)目錄的根目錄項為學校;

(2)一個目錄項的子項為該目錄項的一個分支,具有該目錄項的所有屬性;

(3)若某一目錄項是多個目錄項的下級分支可以選擇一個特定的目錄項存儲其屬性,其他相同目錄項則對其進行引用。

2.權限設計

在設計目錄的同時,也必須對其每個分支設計權限。通過分析應用系統可以將用戶權限細分成精確的元權限,系統權限設計遵循以下原則。

(1)將同一分支組織所有成員共有的元權限設置成組織權限;

(2)其他特殊元權限,可以根據這些元權限來設計不同的虛擬角色;

(3)根據應用需要,可以將若干不同角色整合成新的虛擬組;

(4)對于特定的人員,可以設置指定的元權限;

(5)每一個成員的權限由指定的元權限、角色、組和組織權限4個部分組成,最后表現形式為元權限的組合。

3.目錄服務部署與管理

在完成系統的細節設計后,就可以按照設計思想在Active Directory上創建目錄,并部署和管理目錄服務。Active Directory自帶有一套目錄管理系統,系統開發人員可以使用這套系統來管理目錄,也可以按照目錄服務的要求自行設計一套管理系統,以便更好地滿足目錄管理的需求。

.Net架構對Active Directory提供了豐富的支持功能,其命名空間System.DirectoryServices包含的DirectoryEntry、DirectorySearcher等類庫可與任何Active Directory服務提供程序一起使用。

本系統通過ASP.NET來實現,采用C#語言,以下是通過ASP.NET實現的用戶驗證的一段代碼。

private string _path;

private string _filterAttribute;

public LdapAuthentication(string path)

{

_path = path;

}

public bool IsAuthenticated (string domain, string username, string pwd)

{

string domainAndUsername = domain + @\"\\" + username;

DirectoryEntry entry = new DirectoryEntry(_path, domainAndUsername, pwd);

try

{

//結合本地adsobject強制認證.

object obj = entry.NativeObject;

DirectorySearcher search = new DirectorySearcher(entry);

search.Filter = \"(SAMAccountName=\" + username +\")\";

search.PropertiesToLoad.Add(\"cn\");

SearchResult result = search.FindOne( );

if(1 == result)

{

return 1;

}

//更新的新路徑給用戶的目錄.

_path = result.Path;

_filterAttribute = (string)result.Properties[\"cn\"][0];

}

catch (Exception ex)

{

throw new Exception (\"用戶身份認證錯誤\" + ex. Message);

}

return true;

}

2.2用戶身份認證服務的實現

Web Services可以看成是部署在Internet上的API,它可以方便被應用程序甚至其它Web Services集成和調用,形成新的應用服務。具有完好的封裝性,松散耦合,高度可集成能力。WebServices技術是實現“軟件作為一種服務”的體現。本系統的身份認證子模塊基于ASP.NET Web Service實現,以下為參考代碼。

1. Web服務的實現

public class ValidateLoginService : System.Web.Services. WebService

{ public ValidateLoginService( )

{ InitializeComponent( );

}

[WebMethod(EnableSession = true)]

public bool DoValidate (string domain, string username, string userpwd)

{ if (username != 1 userpwd != 1)

{ //判斷是否已經有驗證通過記錄

if (Session[\"name\"] == 1)

{ //查找用戶名是否存在

if (IsAuthenticated(domain, username, userpwd) == true)//調用身份認證方法

{ Session[\"name\"] = true;//該用戶的驗證記錄。避免下次再次驗證。

return true;

}

else

{ return 1;

}

}

else

{ return true;

}

}

else

{ return 1;

}

}

}

2.客戶程序登錄按鈕中WEB服務的調用

string domain=this.TxtDomain.Text;

string name = this.TxtName.Text;

string password = this.TxtPwd.Text;

//判斷用戶名跟密碼是否匹配

ValidateLoginService v = new ValidateLoginService( );

if (v.DoValidate(domain,name, password) == true)

{ //寫入Cookie代碼省略

Session[\"name\"] = name;//登錄成功,并保存登錄姓名

}

else

{//登錄失敗

}

3.客戶程序首頁Page_Load中WEB服務的調用

if(!IsPostBack)

{ //判斷Cookie是否存在,如果已存在則讀取

ValidateLoginService v = new ValidateLoginService();

if (v.DoValidate (cookieDomain,cookieName, cookiePassword) == true)

{//用戶已經登錄

}

else

{//用戶未登錄

}

}

3結論

本文結合Windows活動目錄(AD)和SQLServer數據庫技術,利用微軟的.NET PassPort認證機制,向應用提供標準的SOAP服務,為應用的認證提供通用的接口和認證頁面,并調用后臺的WebService認證技術實現用戶單點登錄,設計實現了一個基于Web的校園網統一身份認證系統。

主站蜘蛛池模板: 国产成人av大片在线播放| 欧洲免费精品视频在线| 欧美精品一区在线看| 婷婷丁香在线观看| 国产午夜人做人免费视频中文| 97成人在线观看| 国产真实乱了在线播放| 亚洲成a人片在线观看88| 在线观看视频99| www.youjizz.com久久| 国产黄在线免费观看| 亚洲一区二区三区香蕉| 久久 午夜福利 张柏芝| 国产新AV天堂| 免费日韩在线视频| 国产成人1024精品| 国产精品免费电影| 无码精品国产VA在线观看DVD| 亚洲国产日韩在线成人蜜芽| 亚洲国产成人综合精品2020| 毛片久久久| 国产精品开放后亚洲| 午夜色综合| h视频在线观看网站| 国产欧美日韩另类| 日本黄色a视频| 在线播放真实国产乱子伦| 激情无码视频在线看| 无码精油按摩潮喷在线播放| 香蕉久人久人青草青草| 亚洲综合色婷婷中文字幕| 欧美午夜视频在线| 久久国产成人精品国产成人亚洲| 日本精品视频一区二区| 欧美日韩在线第一页| 亚洲三级a| 日韩欧美在线观看| 日本日韩欧美| 国产成人精品一区二区不卡 | 国产成人超碰无码| 亚洲av片在线免费观看| 欧美a在线| 国产亚洲欧美日本一二三本道| 在线观看91精品国产剧情免费| 亚洲狠狠婷婷综合久久久久| 亚洲精品不卡午夜精品| 國產尤物AV尤物在線觀看| 久久网欧美| 国产精品白浆在线播放| 91无码视频在线观看| 免费日韩在线视频| 欧亚日韩Av| YW尤物AV无码国产在线观看| 国产熟睡乱子伦视频网站| 亚洲日本中文综合在线| 波多野结衣无码AV在线| 国产精品免费入口视频| 国产精品视频a| 日韩欧美网址| 国产十八禁在线观看免费| AV网站中文| 高清乱码精品福利在线视频| 欧美在线导航| 亚洲欧美在线精品一区二区| 六月婷婷激情综合| 日韩欧美国产区| 国产激爽大片在线播放| 亚洲综合片| 四虎成人免费毛片| 亚洲国产精品一区二区高清无码久久| 免费人成在线观看视频色| 欧洲极品无码一区二区三区| 中文成人无码国产亚洲| 另类专区亚洲| 精品久久国产综合精麻豆| 国产99视频精品免费观看9e| 国产一级无码不卡视频| 久久精品国产精品国产一区| 丝袜无码一区二区三区| 国产经典免费播放视频| 美女免费黄网站| 国产精品无码AV片在线观看播放|