統一協同工做平臺用戶管理、單點登陸以及任務集成接口說明

spacer.gif

 目錄數組

概述

西北油田分公司信息化通過長期建設,在各個業務點上,逐步搭建了適應業務管理的信息化系統,爲分公司經營管理提供了強大的信息化輔助管理支撐。 可是,分公司前期建設的信息化系統都是基於傳統辦公自動化OA,目前逐步造成了多個單獨業務系統組成的OA,如公文、合同、招投標、預結算等系統,這些系統之間沒有統一的技術和數據標準,數據不能自動傳遞和共享,流程控制和標準多樣化,從而造成了一個個彼此隔離的信息孤島。安全

    在此背景上,西北油田分公司搭建了一套整合分公司各類信息資源庫的協同工做平臺,造成統1、綜合、開放的辦公應用平臺。數據結構

本文檔爲西北油田分公司內部應用系統接入統一的協同工做平臺提供指導,提供應用系統接入統一用戶管理平臺、實現單點登陸和統一任務集成的接口說明。架構

單點登陸實現

2.1 原理概述

單點登陸系統提供統一的認證頁面、統一的當前用戶加密和解密服務。ide

用戶經過統一認證頁面登陸系統,當用戶須要訪問企業內部應用系統時,單點登陸加密當前用戶身份跳轉至指定的應用系統,指定應用系統獲取到當前加密身份後,經過調用單點登陸服務進行解密,獲取到用戶真實身份進行認證。post

當統一認證頁面採用Windows認證模式時,那麼一樣採用Windows認證模式的應用系統,必須部署在同一應用程序池下,對於其餘非Windows認證的系統,將採起上述加密跳轉的方式。測試


2.2 統一認證頁面

由單點登陸系統提供,使用統一用戶管理平臺的帳號和密碼進行驗證。用戶訪問企業內網門戶或應用系統時,若是檢測到未登陸,則跳轉至統一認證頁面,用戶登陸後,再跳轉至用戶訪問的頁面。編碼

統一認證頁面地址:http://10.16.0.168/Portal/Login.aspx加密

統一認證頁面輸入輸出參數以下url

應用系統未認證時,跳轉至統一認證頁面,輸入參數:

編碼

輸入方式

描述

SystemCode

Get/post

系統編碼,由單點登陸系統提供指定的編碼,每一個應用系統惟一,輸入爲空時,跳轉至默認的門戶頁面

URL

Get/post

登陸成功後,跳轉到的應用系統URL,輸入爲空時,跳轉至默認的門戶頁面

統一認證完成後,跳轉至應用系統指定URL,輸出參數:

編碼

輸入方式

描述

Token

Get

一次有效的驗證Token,調用單點登陸服務,能夠獲得當前用戶的真實信息

2.3 單點認證服務

單點認證服務是提供給企業應用系統進行登陸驗證的服務,企業應用系統獲取到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值是否成功

 

應用系統單點登陸接入

3.1 獲取系統編碼

系統編碼是由單點登陸服務提供的系統編碼和解密祕鑰。

編碼

名稱

說明

SystemCode

系統編碼

文本類型,系統編碼、企業內部惟一,不可變動

Secret

解密祕鑰

文本類型,調用解密服務須要傳入的參數,能夠調用單點登陸服務修改

如下是各應用系統編碼,Secret可調用接口(參考3.4.4章節)自行修改:

系統名稱

SystemCode

Secret

電子考勤系統

DZKQ

DZKQ

生產經營系統

SCJY

SCJY

招投標系統

ZTB

ZTB

無紙化會議

WZHHY

WZHHY

領導動態

LDDT

LDDT

3.2 統一登陸頁面

注:該功能爲預留使用,本期項目能夠不實現,應用系統只須要作好單點登陸,仍然可保留已有的登陸界面,讓用戶便可從統一平臺登陸界面進行登陸系統,也能夠從已有的系統登陸界面進行登陸系統。

統一單點登陸頁面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

3.3 系統間單點登陸跳轉

系統之家的單點登陸實現,都須要經過統一登陸頁面進行實現,例如A系統訪問B系統的 Default.aspx頁面,則須要使用:http://10.16.0.168/Portal/Login.aspx?q=http://B/Default.aspx。

3.4 應用系統單點登陸實現過程

3.4.1 單點登陸過程

本章節描述了應用系統對於單點登陸須要作的事情和過程。

應用系統從URL中獲取到Token值,經過SystemCode和Secret調用單點登陸服務,解析獲得用戶的統一用戶管理平臺中的帳號,在本系統實現登陸驗證。

單點登陸須要支持的頁面:全部在統一平臺中須要加上連接的頁面和表單界面。

以上頁面中,在判斷當前系統用戶登陸認證以前,按照如下步驟進行

1. 若是URL中有Token值,則進入3,不然進入2

2. 跳轉至本系統的登陸界面;

3. 調用單點登陸服務進行解密,獲得用戶的真實帳號;

4. 使用解密獲得的帳號自動進行本系統登陸認證,完成單點登陸;

3.4.2 單點登陸界面說明

本期項目如下功能須要實現單點登陸:

系統名稱

集成功能

公文管理系統

公司發文、公司收文、公司工做聯繫單、公司會議記要審批件流轉、部門發文、流程審覈表單

合同管理系統

合同查詢、合同臺帳、流程審覈表單

招投標系統

招投標流程運行監控、項目運行監控、招標會議安排招標項目臺帳、評標專家維護、流程審覈表單

生產經營管理系統

業務跟蹤查詢、流程審覈表單

電子考勤系統

考勤管理、特殊考勤申請、考勤記錄查詢、流程審覈表單

無紙化會議系統

會議室使用狀況、無紙化會議申請、會議材料上傳、流程審覈表單

領導動態

行程動態登記、行程動態查詢

內控管理系統

部門控制目標、內控手冊查詢、內控全文索引

電子郵件系統

未處理郵件數提醒

注:請各應用系統將以上功能的測試環境和正式環境的URL訪問地址,提供給信息化管理中心董小詩。

3.4.3 獲取Token

從統一認證平臺跳轉至應用系統時,統一認證平臺會將當前的用戶加密信息以Get方式進行發送至應用系統。

例如:應用系統URL地址http://192.0.0.1/Default.aspx,統一認證平臺返回的URL地址爲

http://192.0.0.1/Default.aspx?Token={Token}

參數說明

編碼

名稱

說明

Token

訪問的Token

一次性使用,能夠經過單點登陸服務獲得真實帳號

注:每次登陸Token值只一次有效。

3.4.4 獲取應用系統用戶帳號

應用系統獲取Token後,調用單點登陸服務提供的解密服務,獲得真實帳號,單點登陸服務以WebService方式提供。

接口名稱

GetAuthenticationUser

接口說明

獲取已登陸統一認證平臺的用戶帳號

輸入參數

參數編碼

類型

說明

SystemCode

String

傳入系統編碼

Secret

String

傳入系統祕鑰

Token

Stirng

登陸信息

輸出參數

類型

說明

String

返回當前應用系統的用戶帳號

 應用系統獲取到返回當前應用系統的用戶帳號後,須要進行本系統的登陸操做。

3.4.5 更改Secret信息

爲了安全考慮,Secret值能夠根據應用系統須要進行請求修改。修改過程調用統一單點登陸服務進行完成。

單點登陸系統提供接口以下:

接口名稱

UpdateSecret

接口說明

更改統一認證Secret信息

輸入參數

參數編碼

類型

說明

SystemCode

String

傳入系統編碼

Secret

String

傳入舊的系統祕鑰

NewSecret

Stirng

傳入新的Secret信息

輸出參數

類型

說明

bool

返回更改Secret值是否成功

3.4.6 提供系統用戶表

若是應用系統不是使用AD域帳號,而且本系統用戶沒有與AD用戶對應的用戶關係映射表,那麼須要作2個事情:

1. 對於已有的系統用戶,導出系統用戶清單提供給統一平臺,導出格式爲:

所屬組織

用戶姓名

當前系統帳號




2. 對於新增用戶(不在系統用戶清單的用戶),嚴格使用AD帳號,不然不能正常單點登陸。

3.5 統一用戶管理集成

注:若是應用系統組織和用戶不須要從AD作同步,仍然能夠採起已有的方式進行維護,能夠忽略此章節。

企業應用系統用戶管理必須以統一用戶管理平臺提供數據爲基礎,系統定時或者管理員手動從統一用戶管理平臺進行同步。

使用統一用戶管理後,應用系統不須要再從本系統進行維護組織和系統帳號,全部系統帳號建立、刪除權在統一用戶管理平臺,應用系統須要實現從該平臺進行組織同步。

統一用戶管理平臺提供組織、用戶的數據接口,企業應用系統能夠經過接口進行同步數據。

3.5.1 統一用戶管理數據結構

ü 組織數據結構(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

字符串

用戶手機號碼

Email

字符串

用戶郵箱號碼

OfficePhone

字符串

辦公電話

State

整數類型

啓/禁用,0表示啓用,1表示禁用

ModifiedTime

日期

修改日期

3.5.2 統一用戶管理平臺接口

ü GetCompany()

方法說明:獲取根目錄的組織架構信息

輸入參數

參數名稱

類型

說明



返回值

類型

說明

OrganizationUnit

組織機構對象

ü GetAllOrganizationUnit()

方法說明:獲取全部組織數據

輸入參數

參數名稱

類型

說明



返回值

類型

說明

OrganizationUnit[]

組織機構數組

ü GetAllUser()

方法說明:獲取全部用戶數據

輸入參數

參數名稱

類型

說明



返回值

類型

說明

User[]

用戶數組

統一任務集成

4.1 集成說明

統一任務集成平臺是西北油田分公司全部應用系統的待辦任務綜合處理平臺,全部應用系統待辦都接入統一任務集成平臺處理。用戶能夠直接登陸該平臺,處理分散在全部系統中的任務。

因此咱們須要全部應用系統將用戶待辦/待閱任務能即時推送至統一任務集成平臺,而且和統一任務集成平臺實現單點登陸,方便用戶進行操做。

基於移動擴展考慮,而且展現統一移動模式表單,應用系統還須要提供表單數據接口和表單操做接口,方便統一任務集成平臺實現移動擴展。

統一任務集成過程以下圖所示:

4.2 統一任務集成接口說明

接口服務地址: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

統一任務處理平臺調用是否成功

4.3 應用系統須要提供接口說明

PC端,統一任務集成平臺經過單點登陸直接打開應用系統表單URL,全部操做均由應用系統完成。

在移動端,統一任務集成平臺經過獲取應用系統表單數據,統一轉換成移動辦公模式表單進行展現,用戶直接使用轉換後的移動辦公表單進行任務操做,因此應用系統須要向統一任務集成平臺提供表單數據接口和表單操做接口。

4.3.1 移動端表單數據集成接口

應用系統須要構造接口返回數據結構,以WebService形式提供給統一任務集成平臺進行調用。也就是說,以統一任務集成平臺的提供數據結構,構造SheetData[]數組,返回給統一任務集成平臺使用。

接口說明:統一使用名稱 LoadSheetData

輸入參數

字段名稱

類型

說明

Token

string

統一平臺會調用SSO加密服務將結果傳遞至應用系統,應用系統再調用解密服務驗證Token值的真實有效性,而後進行處理。

ID

string

任務惟一標示


SheetData定義示例:

返回數據示例:

應用系統必須提供2個接口方法給統一任務集成平臺調用,方便統一平臺在移動端審批時,能實現應用系統的提交、駁回操做,接口提供推薦使用WebServices模式。4.3.2 移動端表單操做接口

接口一:提交任務接口,統一使用名稱 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的值"}

相關文章
相關標籤/搜索