題目要求
- 在表單頁提交密鑰和敏感信息,通過fass 連接器用密鑰加密敏感信息。
- 在授權(quán)查看頁選擇待解密數(shù)據(jù),審核通過后可以查看解密后的數(shù)據(jù)。
需求拆解
- Faas連接器,用于數(shù)據(jù)加解密
- 集成自動化,提交表單數(shù)據(jù)后調(diào)用faas連接器加密數(shù)據(jù)
- 密鑰維護頁(普通表單),用與提交密鑰
- 敏感信息提交頁(普通表單),用于提交敏感信息
- 存檔頁(普通表單),用于接收faas連接器加密后的數(shù)據(jù),作為關(guān)聯(lián)表單嵌入授權(quán)查看頁
- 授權(quán)查看頁(流程表單),用于提交流程申請授權(quán)查看敏感信息
實操步驟
一、 Faas連接器
在應(yīng)用中心找到“實操題2代碼文件下載”應(yīng)用,下載必要文件。
點擊頂部平臺管理,進入平臺管理頁面,選擇連接器工廠,創(chuàng)建連接器。
新建Faas 連接器,開發(fā)語言選擇java。
配置接口請求參數(shù)和接口返回字段,此處配置用與在連接器接收參數(shù)和使用連接器返回數(shù)據(jù)時選擇字段。
配置好字段,進入云IDE開發(fā)。選擇資源管理器,將下載的DESUtil.java 文件粘貼到util下。
雙擊FaasEntry.java,進入編輯器,找到excute 方法,將下載的業(yè)務(wù)代碼粘貼到方法中。此段代碼邏輯為根據(jù)type參數(shù)判斷是加密或者解密,我這里用的是0 == type 為加密,其他值為解密。然后獲取到密鑰和待處理數(shù)據(jù)(字段名為連接器接口請求配置字段),調(diào)用響應(yīng)的加解密方法處理數(shù)據(jù),最后根據(jù)連接器配置的接口返回字段返回數(shù)據(jù)。
業(yè)務(wù)代碼
String content = (String) input.get("content");String password = (String) input.get("password");Integer type = Integer.parseInt(String.valueOf(input.get("type")));/*** 在這里編寫您的業(yè)務(wù)代碼, 也可以將業(yè)務(wù)代碼封裝到其他類或方法里.*/JSONObject result = new JSONObject();result.put("success", false);result.put("result", "");result.put("error", "");if (0 == type) {/*** 加密*/String encryptContent = DESUtil.encrypt(content, password);System.out.println("加密后的字符串:" encryptContent);if (StringUtils.isEmpty(encryptContent)) {result.put("error", "empty string got!");return result;}result.put("result", encryptContent);result.put("success", true);} else {/*** 解密*/String encryptContent = DESUtil.decrypt(content, password);System.out.println("解密后的字符串:" encryptContent);if (StringUtils.isEmpty(encryptContent)) {result.put("error", "empty string got!");return result;}result.put("result", encryptContent);result.put("success", true);}System.out.println("返回:" JSON.toJSONString(result));return result;
保存,提交代碼。
部署到serverless。
二、 表單
新建密鑰維護頁(普通表單),包含一個單行文本組件,用于密鑰輸入。
新建敏感信息提交頁(普通表單),包含一個單行文本組件,用于敏感信息輸入。
新建存檔頁(普通表單),用于接收加密后的數(shù)據(jù)。提交人為“成員”組件,只讀;提交時間為“時間”組件,只讀;返回結(jié)果為“多行文本”組件。
新建授權(quán)信息查看頁(流程表單),申請人為“成員”組件;
請選擇待解密數(shù)據(jù)為“關(guān)聯(lián)表單”組件。表單選擇當前應(yīng)用的存檔頁。按要求選擇主要信息和次要信息。
因為只能提交自己創(chuàng)建的數(shù)據(jù),所以篩選條件為提交人等于申請人。并將存檔頁中返回結(jié)果字段賦值到待解密信息。
保存后,點擊頂部流程設(shè)計,創(chuàng)建審批流程。完整流程圖如下。
根據(jù)題目要求,此流程需要選擇并設(shè)置紅框中的節(jié)點。
1.設(shè)置審批人為發(fā)起人本人。
2.設(shè)置獲取表單數(shù)據(jù)節(jié)點,從密鑰維護頁獲取提交的密鑰數(shù)據(jù),作為參數(shù)傳到Fass 連接器。
3.配置設(shè)置faas連接器節(jié)點,選擇前面創(chuàng)建的連接器,按要求配置字段映射。
4.設(shè)置消息通知,通知類型為工作通知,人員為申請人。
選擇通知模板,通知內(nèi)容為解密后的數(shù)據(jù),即連接器的返回值字段。
三、 集成&自動化
用于敏感信息提交后,自動調(diào)用faas 連接器加密數(shù)據(jù),并將加密結(jié)果新增到存檔頁中。
點擊頂部集成&自動化,進入頁面新建集成&自動化。表單事件觸發(fā)選擇敏感信息提交頁。
完整節(jié)點如下,包含事件觸發(fā)、獲取單條數(shù)據(jù)、連接器、數(shù)據(jù)新增。
表單事件觸發(fā)選擇創(chuàng)建成功,不用過濾數(shù)據(jù)。作用在于將新增的數(shù)據(jù)傳到連接器進行加密。
獲取單條數(shù)據(jù)節(jié)點如下圖配置,要注意選擇密鑰維護頁獲取數(shù)據(jù),作為加密時密鑰。
連接器節(jié)點如下圖配置,注意配置動作參數(shù)對應(yīng)。
新增數(shù)據(jù)節(jié)點,將加密后的數(shù)據(jù)存到存檔頁表單中,下圖選擇的是存檔頁、新增單條數(shù)據(jù),然后配置存檔頁表單字段和連接器字段映射關(guān)系。
至此,應(yīng)用完成開發(fā)了。下面我們需要驗證下是否題目要求。
四、驗證
提交密鑰。
提交敏感信息。
提交后會在存檔頁生成加密數(shù)據(jù)。
選擇待解密數(shù)據(jù),提交授權(quán)申請。數(shù)據(jù)只能選擇自己創(chuàng)建的。
提交后審批人釘釘會收到審批通知,點擊進入審批頁面審批。
審批通過后申請人會收到解密后的消息通知。
思考
敏感數(shù)據(jù)提交后不用集成&自動化還可以用哪些方式實現(xiàn)數(shù)據(jù)加密,存到存檔頁呢?
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。