目錄數組
西北油田分公司信息化通過長期建設,在各個業務點上,逐步搭建了適應業務管理的信息化系統,爲分公司經營管理提供了強大的信息化輔助管理支撐。 可是,分公司前期建設的信息化系統都是基於傳統辦公自動化OA,目前逐步造成了多個單獨業務系統組成的OA,如公文、合同、招投標、預結算等系統,這些系統之間沒有統一的技術和數據標準,數據不能自動傳遞和共享,流程控制和標準多樣化,從而造成了一個個彼此隔離的信息孤島。安全
在此背景上,西北油田分公司搭建了一套整合分公司各類信息資源庫的協同工做平臺,造成統1、綜合、開放的辦公應用平臺。數據結構
本文檔爲西北油田分公司內部應用系統接入統一的協同工做平臺提供指導,提供應用系統接入統一用戶管理平臺、實現單點登陸和統一任務集成的接口說明。架構
單點登陸系統提供統一的認證頁面、統一的當前用戶加密和解密服務。ide
用戶經過統一認證頁面登陸系統,當用戶須要訪問企業內部應用系統時,單點登陸加密當前用戶身份跳轉至指定的應用系統,指定應用系統獲取到當前加密身份後,經過調用單點登陸服務進行解密,獲取到用戶真實身份進行認證。post
當統一認證頁面採用Windows認證模式時,那麼一樣採用Windows認證模式的應用系統,必須部署在同一應用程序池下,對於其餘非Windows認證的系統,將採起上述加密跳轉的方式。測試
由單點登陸系統提供,使用統一用戶管理平臺的帳號和密碼進行驗證。用戶訪問企業內網門戶或應用系統時,若是檢測到未登陸,則跳轉至統一認證頁面,用戶登陸後,再跳轉至用戶訪問的頁面。編碼
統一認證頁面地址:http://10.16.0.168/Portal/Login.aspx加密
統一認證頁面輸入輸出參數以下url
應用系統未認證時,跳轉至統一認證頁面,輸入參數:
編碼 |
輸入方式 |
描述 |
SystemCode |
Get/post |
系統編碼,由單點登陸系統提供指定的編碼,每一個應用系統惟一,輸入爲空時,跳轉至默認的門戶頁面 |
URL |
Get/post |
登陸成功後,跳轉到的應用系統URL,輸入爲空時,跳轉至默認的門戶頁面 |
統一認證完成後,跳轉至應用系統指定URL,輸出參數:
編碼 |
輸入方式 |
描述 |
Token |
Get |
一次有效的驗證Token,調用單點登陸服務,能夠獲得當前用戶的真實信息 |
單點認證服務是提供給企業應用系統進行登陸驗證的服務,企業應用系統獲取到Token後,以本身對應單點登陸的SystemCode和Secret值,進行調用單點登陸服務,解析獲得統一平臺的用戶登陸信息。
服務地址:http://10.16.0.168/SSO.asmx
單點認證服務提供2個WebService服務接口:
ü 獲取統一認證平臺用戶帳號接口
接口名稱 |
GetAuthenticationUser |
|
接口說明 |
獲取已登陸統一認證平臺的用戶帳號 |
|
輸入參數 |
||
參數編碼 |
類型 |
說明 |
SystemCode |
String |
傳入系統編碼 |
Secret |
String |
傳入系統祕鑰 |
Token |
Stirng |
登陸信息 |
輸出參數 |
||
類型 |
說明 |
|
String |
返回當前已登陸統一認證系統的登陸帳號 |
ü 更改Secret接口
接口名稱 |
UpdateSecret |
|
接口說明 |
更改統一認證Secret信息 |
|
輸入參數 |
||
參數編碼 |
類型 |
說明 |
SystemCode |
String |
傳入系統編碼 |
Secret |
String |
傳入舊的系統祕鑰 |
NewSecret |
Stirng |
傳入新的Secret信息 |
輸出參數 |
||
類型 |
說明 |
|
bool |
返回更改Secret值是否成功 |
系統編碼是由單點登陸服務提供的系統編碼和解密祕鑰。
編碼 |
名稱 |
說明 |
SystemCode |
系統編碼 |
文本類型,系統編碼、企業內部惟一,不可變動 |
Secret |
解密祕鑰 |
文本類型,調用解密服務須要傳入的參數,能夠調用單點登陸服務修改 |
如下是各應用系統編碼,Secret可調用接口(參考3.4.4章節)自行修改:
系統名稱 |
SystemCode |
Secret |
電子考勤系統 |
DZKQ |
DZKQ |
生產經營系統 |
SCJY |
SCJY |
招投標系統 |
ZTB |
ZTB |
無紙化會議 |
WZHHY |
WZHHY |
領導動態 |
LDDT |
LDDT |
注:該功能爲預留使用,本期項目能夠不實現,應用系統只須要作好單點登陸,仍然可保留已有的登陸界面,讓用戶便可從統一平臺登陸界面進行登陸系統,也能夠從已有的系統登陸界面進行登陸系統。
統一單點登陸頁面URL:http://10.16.0.168/Portal/Login.aspx
當用戶請求頁面,而且未登陸時,統一跳轉至單點登陸服務提供的登陸頁面地址,
http://10.16.0.168/Portal/Login.aspx?q={URL}&SystemCode={SystemCode}
參數說明
編碼 |
名稱 |
說明 |
URL |
應用系統URL |
單點登陸成功後跳轉到應用系統的URL地址 |
SystemCode |
系統編碼 |
單點登陸系統編碼 |
示例:當前應用系統編碼是SCJY,用戶請求的頁面URL爲:http://192.0.0.1/Default.aspx,
則跳轉至:
http://10.16.0.168/Portal/Login.aspx?q= http://192.0.0.1/Default.aspx&SystemCode=SCJY |
系統之家的單點登陸實現,都須要經過統一登陸頁面進行實現,例如A系統訪問B系統的 Default.aspx頁面,則須要使用:http://10.16.0.168/Portal/Login.aspx?q=http://B/Default.aspx。
本章節描述了應用系統對於單點登陸須要作的事情和過程。
應用系統從URL中獲取到Token值,經過SystemCode和Secret調用單點登陸服務,解析獲得用戶的統一用戶管理平臺中的帳號,在本系統實現登陸驗證。
單點登陸須要支持的頁面:全部在統一平臺中須要加上連接的頁面和表單界面。
以上頁面中,在判斷當前系統用戶登陸認證以前,按照如下步驟進行:
1. 若是URL中有Token值,則進入3,不然進入2
2. 跳轉至本系統的登陸界面;
3. 調用單點登陸服務進行解密,獲得用戶的真實帳號;
4. 使用解密獲得的帳號自動進行本系統登陸認證,完成單點登陸;
本期項目如下功能須要實現單點登陸:
系統名稱 |
集成功能 |
公文管理系統 |
公司發文、公司收文、公司工做聯繫單、公司會議記要審批件流轉、部門發文、流程審覈表單 |
合同管理系統 |
合同查詢、合同臺帳、流程審覈表單 |
招投標系統 |
招投標流程運行監控、項目運行監控、招標會議安排招標項目臺帳、評標專家維護、流程審覈表單 |
生產經營管理系統 |
業務跟蹤查詢、流程審覈表單 |
電子考勤系統 |
考勤管理、特殊考勤申請、考勤記錄查詢、流程審覈表單 |
無紙化會議系統 |
會議室使用狀況、無紙化會議申請、會議材料上傳、流程審覈表單 |
領導動態 |
行程動態登記、行程動態查詢 |
內控管理系統 |
部門控制目標、內控手冊查詢、內控全文索引 |
電子郵件系統 |
未處理郵件數提醒 |
注:請各應用系統將以上功能的測試環境和正式環境的URL訪問地址,提供給信息化管理中心董小詩。
從統一認證平臺跳轉至應用系統時,統一認證平臺會將當前的用戶加密信息以Get方式進行發送至應用系統。
例如:應用系統URL地址http://192.0.0.1/Default.aspx,統一認證平臺返回的URL地址爲
http://192.0.0.1/Default.aspx?Token={Token}
參數說明
編碼 |
名稱 |
說明 |
Token |
訪問的Token |
一次性使用,能夠經過單點登陸服務獲得真實帳號 |
注:每次登陸Token值只一次有效。
應用系統獲取Token後,調用單點登陸服務提供的解密服務,獲得真實帳號,單點登陸服務以WebService方式提供。
接口名稱 |
GetAuthenticationUser |
|
接口說明 |
獲取已登陸統一認證平臺的用戶帳號 |
|
輸入參數 |
||
參數編碼 |
類型 |
說明 |
SystemCode |
String |
傳入系統編碼 |
Secret |
String |
傳入系統祕鑰 |
Token |
Stirng |
登陸信息 |
輸出參數 |
||
類型 |
說明 |
|
String |
返回當前應用系統的用戶帳號 |
應用系統獲取到返回當前應用系統的用戶帳號後,須要進行本系統的登陸操做。
爲了安全考慮,Secret值能夠根據應用系統須要進行請求修改。修改過程調用統一單點登陸服務進行完成。
單點登陸系統提供接口以下:
接口名稱 |
UpdateSecret |
|
接口說明 |
更改統一認證Secret信息 |
|
輸入參數 |
||
參數編碼 |
類型 |
說明 |
SystemCode |
String |
傳入系統編碼 |
Secret |
String |
傳入舊的系統祕鑰 |
NewSecret |
Stirng |
傳入新的Secret信息 |
輸出參數 |
||
類型 |
說明 |
|
bool |
返回更改Secret值是否成功 |
若是應用系統不是使用AD域帳號,而且本系統用戶沒有與AD用戶對應的用戶關係映射表,那麼須要作2個事情:
1. 對於已有的系統用戶,導出系統用戶清單提供給統一平臺,導出格式爲:
所屬組織 |
用戶姓名 |
當前系統帳號 |
2. 對於新增用戶(不在系統用戶清單的用戶),嚴格使用AD帳號,不然不能正常單點登陸。
注:若是應用系統組織和用戶不須要從AD作同步,仍然能夠採起已有的方式進行維護,能夠忽略此章節。
企業應用系統用戶管理必須以統一用戶管理平臺提供數據爲基礎,系統定時或者管理員手動從統一用戶管理平臺進行同步。
使用統一用戶管理後,應用系統不須要再從本系統進行維護組織和系統帳號,全部系統帳號建立、刪除權在統一用戶管理平臺,應用系統須要實現從該平臺進行組織同步。
統一用戶管理平臺提供組織、用戶的數據接口,企業應用系統能夠經過接口進行同步數據。
ü 組織數據結構(OrganizationUnit)
字段名稱 |
類型 |
說明 |
ObjectID |
字符串 |
組織ID,惟一標示 |
Code |
字符串 |
組織編碼 |
Name |
字符串 |
組織名稱 |
ParentID |
字符串 |
上級組織ID,若是爲空,則表示是頂層組織 |
ManagerID |
字符串 |
組織經理的用戶ID,關聯用戶ObjectID |
ModifiedTime |
日期 |
組織最後修改日期 |
State |
整數類型 |
啓/禁用,0表示啓用,1表示禁用 |
ü 用戶數據結構
字段名稱 |
類型 |
說明 |
ObjectID |
字符串 |
用戶ID,惟一標示 |
Code |
字符串 |
編碼、AD帳號 |
Name |
字符串 |
姓名 |
Appellation |
字符串 |
稱謂 |
EmployeeNumber |
字符串 |
員工工號 |
ParentID |
字符串 |
所屬組織ID,關聯組織ObjectID |
ManagerID |
字符串 |
上級經理ID,關聯用戶表ObjectID |
Mobile |
字符串 |
用戶手機號碼 |
字符串 |
用戶郵箱號碼 |
|
OfficePhone |
字符串 |
辦公電話 |
State |
整數類型 |
啓/禁用,0表示啓用,1表示禁用 |
ModifiedTime |
日期 |
修改日期 |
ü GetCompany()
方法說明:獲取根目錄的組織架構信息
輸入參數 |
|||
參數名稱 |
類型 |
說明 |
|
無 |
|||
返回值 |
|||
類型 |
說明 |
||
OrganizationUnit |
組織機構對象 |
ü GetAllOrganizationUnit()
方法說明:獲取全部組織數據
輸入參數 |
|||
參數名稱 |
類型 |
說明 |
|
無 |
|||
返回值 |
|||
類型 |
說明 |
||
OrganizationUnit[] |
組織機構數組 |
ü GetAllUser()
方法說明:獲取全部用戶數據
輸入參數 |
|||
參數名稱 |
類型 |
說明 |
|
無 |
|||
返回值 |
|||
類型 |
說明 |
||
User[] |
用戶數組 |
統一任務集成平臺是西北油田分公司全部應用系統的待辦任務綜合處理平臺,全部應用系統待辦都接入統一任務集成平臺處理。用戶能夠直接登陸該平臺,處理分散在全部系統中的任務。
因此咱們須要全部應用系統將用戶待辦/待閱任務能即時推送至統一任務集成平臺,而且和統一任務集成平臺實現單點登陸,方便用戶進行操做。
基於移動擴展考慮,而且展現統一移動模式表單,應用系統還須要提供表單數據接口和表單操做接口,方便統一任務集成平臺實現移動擴展。
統一任務集成過程以下圖所示:
接口服務地址:http://10.16.0.168/Portal/WorkItemService.asmx
ü 接口名稱:AddUnFinishedWorkItem
方法說明:應用系統推送待辦任務至統一任務集成平臺
參數說明:
輸入參數 |
|||
參數名稱 |
類型 |
說明 |
|
SystemCode |
string |
系統編碼,由SSO服務提供 |
|
Secret |
string |
系統祕鑰,由SSO服務提供 |
|
ID |
string |
應用系統工做任務惟一標示 |
|
WorkflowName |
string |
流程模板名稱:如請假申請、發文審批 |
|
InstanceName |
string |
流程實例名稱:例如張三的年假審批 |
|
ActivityName |
string |
環節名稱:例如領導審批 |
|
Originator |
string |
發起人帳號:流程發起人的中石化郵箱帳號 |
|
Participant |
string |
當前任務處理人的中石化郵箱帳號 |
|
ReceiveTime |
Datetime |
任務接收時間 |
|
PriorityType |
PriorityType |
枚舉類型,待辦的優先級 Low = 0, // 低 Normal = 1, // 中(默認值) High = 2 // 高 |
|
ItemType |
int |
待辦/待閱,0是待辦/1是待閱 |
|
AllowReject |
Bool |
是否容許駁回 |
|
MobileProcessing |
Bool |
是否容許移動辦公審批 業務系統本身斷定,當存在複雜操做的表單邏輯和操做時,能夠設置不支持在移動端操做,例如發起環節的填寫。 |
|
Url |
string |
應用系統打開當前工做任務的URL |
|
返回值 |
|||
類型 |
說明 |
||
bool |
任務推送是否成功 |
||
示例程序 |
|||
// 調用一個任務推送,將任務ID=12345的任務推送至統一任務集成平臺 bool result = workItemService.AddUnFinishedWorkItem( "系統編碼", "系統祕鑰", "12345", // 應用系統的任務ID "請假申請", "張三的事假申請", "主管審覈", "zhangs.xbsj", "wangw.xbsj", new DateTime(2015, 10, 31, 12, 21, 05), PriorityType.Normal, 0, "http://10.1.0.100/System/Apply.aspx?ID=12345" ); |
ü 接口名稱:FinishWorkItem(string SystemCode,string Secret,string ID)
方法說明:應用系統任務完成時,通知統一任務平臺
參數說明:
輸入參數 |
||
參數名稱 |
類型 |
說明 |
SystemCode |
string |
系統編碼,由SSO服務提供 |
Secret |
string |
系統祕鑰,由SSO服務提供 |
ID |
string |
待辦任務在應用系統中的惟一標示 |
返回值 |
||
類型 |
說明 |
|
bool |
統一任務處理平臺調用是否成功 |
在PC端,統一任務集成平臺經過單點登陸直接打開應用系統表單URL,全部操做均由應用系統完成。
在移動端,統一任務集成平臺經過獲取應用系統表單數據,統一轉換成移動辦公模式表單進行展現,用戶直接使用轉換後的移動辦公表單進行任務操做,因此應用系統須要向統一任務集成平臺提供表單數據接口和表單操做接口。
應用系統須要構造接口返回數據結構,以WebService形式提供給統一任務集成平臺進行調用。也就是說,以統一任務集成平臺的提供數據結構,構造SheetData[]數組,返回給統一任務集成平臺使用。
接口說明:統一使用名稱 LoadSheetData
輸入參數
字段名稱 |
類型 |
說明 |
Token |
string |
統一平臺會調用SSO加密服務將結果傳遞至應用系統,應用系統再調用解密服務驗證Token值的真實有效性,而後進行處理。 |
ID |
string |
任務惟一標示 |
SheetData定義示例:
返回數據示例:
接口一:提交任務接口,統一使用名稱 SubmitItem
接口須要接收3個參數:
字段名稱 |
類型 |
說明 |
Token |
字符串 |
統一平臺會調用SSO加密服務將結果傳遞至應用系統,應用系統再調用解密服務驗證Token值的真實有效性,而後進行處理。 |
ID |
字符串 |
任務惟一標示 |
CommentText |
字符串 |
當前任務審覈意見 |
SheetData |
字符串 |
移動審批修改的數據項值,以JSON格式傳遞,當不修改時傳遞爲空。 例如: {數據項名稱1:"數據項1的值",數據項名稱2:"數據項2的值"} |
接口二:駁回任務接口,統一使用名稱 RejectItem
接口須要接收3個參數:
字段名稱 |
類型 |
說明 |
Token |
字符串 |
統一平臺會調用SSO加密服務將結果傳遞至應用系統,應用系統再調用解密服務驗證Token值的真實有效性,而後進行處理。 |
ID |
字符串 |
任務惟一標示 |
CommentText |
字符串 |
當前任務審覈意見 |
SheetData |
字符串 |
移動審批修改的數據項值,以JSON格式傳遞,當不修改時傳遞爲空。 例如: {數據項名稱1:"數據項1的值",數據項名稱2:"數據項2的值"} |