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| 久久人搡人人玩人妻精品一| 国产色婷婷| 日本国产精品| 欧美在线观看不卡| 日韩第八页| 中文字幕资源站| 欧美成一级| 国产亚洲精品无码专| 午夜精品久久久久久久99热下载 | 无码国产偷倩在线播放老年人| 免费一极毛片| 国产在线精品人成导航| 欧美亚洲日韩不卡在线在线观看| 久草性视频| 亚洲色图欧美在线| 亚洲高清无码精品| 成人伊人色一区二区三区| 久久午夜夜伦鲁鲁片不卡| 亚洲第一页在线观看| 无码AV动漫| 国产亚洲精品在天天在线麻豆 | 日韩毛片在线视频| 蜜桃视频一区二区| 亚洲综合婷婷激情| 一本大道香蕉中文日本不卡高清二区| 一级毛片基地| 国产美女91呻吟求| 国产理论一区| 久久99蜜桃精品久久久久小说| 亚洲一级毛片在线观播放| 国产三级a| 欧美劲爆第一页| 国产小视频a在线观看| 国产自无码视频在线观看| 日本欧美中文字幕精品亚洲| 国产91无毒不卡在线观看| 91亚瑟视频| 亚洲综合第一页| 国产成人精品综合| 一级毛片在线播放免费观看| 国产不卡国语在线| 久久综合AV免费观看| 99久视频| 全部免费特黄特色大片视频| 亚洲人成电影在线播放| 欧美翘臀一区二区三区| 日本午夜视频在线观看| 欧美日韩国产在线播放| 欧美α片免费观看| 亚洲AV无码精品无码久久蜜桃| 亚洲经典在线中文字幕| 99热精品久久| 国产精品所毛片视频| 亚洲一级毛片在线播放| 国产精品流白浆在线观看| 免费国产高清视频| 黄片一区二区三区| 久热这里只有精品6| 无码高清专区| 中文字幕无码电影| 免费大黄网站在线观看| 四虎永久免费地址在线网站| 成年人午夜免费视频| 亚洲永久色| 国产欧美另类| 亚洲欧美在线综合一区二区三区| 亚洲中文字幕在线观看| 女人18毛片久久| 久久久久久尹人网香蕉 | 狠狠色香婷婷久久亚洲精品| 99久视频| 免费无码又爽又黄又刺激网站| 亚洲国产成人无码AV在线影院L| 国产经典免费播放视频| 国产成人综合久久精品尤物| 久久狠狠色噜噜狠狠狠狠97视色 | 成人福利在线视频|