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的校園網統一身份認證系統。

主站蜘蛛池模板: 国产一二三区视频| 丁香六月激情综合| 国产91在线|日本| 欧美视频在线观看第一页| 在线欧美日韩| 国产精品美女自慰喷水| 黄色污网站在线观看| 亚洲一级色| 精品无码一区二区三区在线视频| 日本高清成本人视频一区| 国产精品美女自慰喷水| 成人韩免费网站| 天天综合网色中文字幕| 亚洲色图综合在线| 日韩a级毛片| 欧美激情第一欧美在线| 国产在线精品美女观看| 国产全黄a一级毛片| 日韩欧美91| 精品少妇人妻无码久久| 91色在线观看| 国产成熟女人性满足视频| 人妻21p大胆| 少妇高潮惨叫久久久久久| 日本亚洲最大的色成网站www| 麻豆精品在线播放| 久久亚洲天堂| 久久综合结合久久狠狠狠97色| 色婷婷亚洲十月十月色天| 夜色爽爽影院18禁妓女影院| 国产欧美精品午夜在线播放| 韩国v欧美v亚洲v日本v| 精品丝袜美腿国产一区| 精品国产成人三级在线观看| 日韩无码视频网站| 成人免费黄色小视频| 黄色三级网站免费| 四虎AV麻豆| 国产99久久亚洲综合精品西瓜tv| 久久综合丝袜长腿丝袜| 中文天堂在线视频| 精品午夜国产福利观看| www中文字幕在线观看| 在线精品欧美日韩| 成人综合在线观看| 有专无码视频| 久久这里只有精品免费| 美女视频黄频a免费高清不卡| 日韩在线播放欧美字幕| 国产日韩丝袜一二三区| 综合亚洲色图| 欧美激情首页| 91成人免费观看| 久久精品人人做人人综合试看| 91偷拍一区| 日韩在线视频网| 一级毛片不卡片免费观看| 毛片手机在线看| 亚洲av日韩综合一区尤物| 国产激爽爽爽大片在线观看| 亚洲国产日韩在线观看| 免费一级成人毛片| 中文字幕色在线| 伊人五月丁香综合AⅤ| 免费观看成人久久网免费观看| 福利小视频在线播放| 九九九九热精品视频| 国产成人综合久久| 毛片一级在线| 国产精品视频999| 国产精品短篇二区| 美女一级毛片无遮挡内谢| 亚洲日本中文字幕天堂网| 亚洲成人在线网| 午夜欧美理论2019理论| 久久天天躁狠狠躁夜夜躁| 成人午夜免费观看| 91系列在线观看| 国产精品亚洲综合久久小说| 欧美精品成人一区二区视频一| 欧美激情视频一区| 国产午夜福利亚洲第一|