作者簡介:楊晟(1988-),男,碩士,助教。研究方向為計算機應用技術。
DOI:10.19981/j.CN23-1581/G3.2024.21.026
摘" 要:針對企業(yè)招聘和畢業(yè)生求職的需要,設計一款在線求職管理系統(tǒng)。該系統(tǒng)基于SSM技術進行開發(fā),設計用戶信息模塊、招聘信息模塊、簡歷信息模塊、院校信息模塊、招聘公告模塊和崗位信息模塊等功能。用人單位可以使用系統(tǒng)發(fā)布招聘公告信息,求職者可以使用系統(tǒng)進行招聘信息的篩選并投遞簡歷,管理員可以進行系統(tǒng)信息的維護。系統(tǒng)能夠打通用人單位和求職者時間和空間之間的壁壘,讓招聘和求職需求在平臺中進行無縫對接,節(jié)約用人單位和求職者的時間成本和人力成本。同時,系統(tǒng)加入安全管理進行用戶身份的驗證和權限的管控,防止越權操作;數(shù)據(jù)庫訪問使用MyBatis作為對象關系映射(ORM)工具,采用參數(shù)化查詢及最小化數(shù)據(jù)庫操作權限防止SQL注入,確保系統(tǒng)的安全性。
關鍵詞:求職招聘;SSM;ORM;身份認證;權限管控
中圖分類號:TP311" " " 文獻標志碼:A" " " " " 文章編號:2095-2945(2024)21-0111-04
Abstract: An online job search management system has been designed to meet the needs of enterprise recruitment and graduate job seeking. The system is developed based on SSM technology and includes functions such as user information module, recruitment information module, resume information module, college information module, recruitment announcement module, and job information module. Employers can use the system to publish recruitment announcements, job seekers can use the system to filter recruitment information and submit resumes, and administrators can maintain system information. The system is able to break down the barriers between the time and space of employers and job seekers, allowing for seamless integration of recruitment and job seeking needs on the platform, saving employers and job seekers time and labor costs. At the same time, the system has added security management for user identity verification and permission control to prevent unauthorized operations; And use MyBatis as the ORM tool, using parameterized queries and minimizing database operation permissions to prevent SQL injection and ensure system security.
Keywords: job search and recruitment; SSM; ORM; identity authentication; authority control
隨著大學畢業(yè)人數(shù)的日益增加以及企業(yè)對人才的需求日益增長[1],如何建立起畢業(yè)生和用人單位之間的溝通橋梁,讓人力資源和企業(yè)需求進行有效對接成為了社會普遍關注的熱點問題[2]。傳統(tǒng)的求職招聘需要用人單位申請并參加定期舉辦的招聘會。用人單位在急需用人的情況下也需要等待招聘會舉辦時才能進行招聘[3];而且由于信息傳播及溝通不便,無法吸引足夠多求職者的注意,導致招聘所面向的對象有限,招聘效率往往不高。而求職者為了獲得適合自己的崗位信息,往往需要在多個招聘會地點來回奔波,大大增加了求職成本[4]。而且在反復的舟車勞頓之下,往往還會影響求職者后續(xù)面試的臨場表現(xiàn)。因此實現(xiàn)求職者和用人單位需求的高效整合,讓求職者能精準地找到心儀的崗位,同時讓用人單位獲得高素質的人才,已成為求職者和用人單位的迫切需求[5-6]。文章選用SSM(Spring+Spring MVC+MyBatis)為技術基礎設計了一個在線求職招聘管理平臺。求職者通過該平臺可以查詢心儀的崗位并進行簡歷的投遞;用人單位可以使用平臺進行招聘公告的發(fā)布,便捷地獲得人力資源信息;系統(tǒng)管理員可以對用戶、院校、專業(yè)、崗位等信息進行管理。通過信息化管理降低求職招聘的時間和人力成本[7-8]。
1" 需求分析
1.1" 可行性分析
就業(yè)一直是社會普遍關注的問題,城市化的發(fā)展使得大量的勞動人口涌入城市,就業(yè)大軍日益龐大,對就業(yè)崗位的需求也日益增加。同時人才的招聘是企業(yè)日常管理的重要一環(huán),而高質量人才的獲取也是影響企業(yè)競爭力的決定性因素。因此求職招聘已成為經(jīng)濟社會運轉中的重要一環(huán)。相比于傳統(tǒng)的線下招聘方式需要申請并等待特定的時間才能舉辦的限制,在線求職招聘系統(tǒng)可以打破時間和空間的限制,讓用人單位根據(jù)生產(chǎn)經(jīng)營需要隨時發(fā)布招聘需求,節(jié)約了企業(yè)的時間成本和人力成本;在線求職招聘系統(tǒng)以網(wǎng)絡為媒介,跨越地理空間的局限,使得信息發(fā)布和交流更為暢通,吸引城市各個角落的求職者甚至是不同城市的求職者進行參與應聘。能夠擴大企業(yè)進行人才招聘的基本面,獲得更為豐富的人力資源信息。同時對于求職者來說,在線招聘系統(tǒng)能為其提供全面廣闊的招聘信息,還能讓其通過信息檢索在一眾招聘信息中快速找到對應崗位,求職者在不需要去招聘會現(xiàn)場的情況下即可輕松地進行簡歷投遞,等待面試邀約。在線招聘平臺能夠滿足求職者和用人單位的雙向需求,使得招聘流程更加便捷高效,解決了傳統(tǒng)企業(yè)招聘和人才應聘過程流程繁瑣、多地奔波、溝通不暢的問題。因而設計并實現(xiàn)一款操作簡單、使用流暢的在線求職招聘系統(tǒng)成了人們的普遍期望。
1.2" 功能需求分析
為了滿足用人單位發(fā)布招聘公告、獲取人力資源以及求職者尋求工作崗位的需要,系統(tǒng)總體功能包含用戶信息模塊、院校信息模塊、專業(yè)信息模塊、崗位信息模塊、招聘公告模塊、候選人信息模塊和簡歷信息模塊7個部分的內容。其中,管理員主要負責用戶信息模塊、院校信息模塊、專業(yè)信息模塊和崗位信息模塊的操作和管理;用人單位主要負責招聘公告模塊、候選人信息模塊的操作和管理;求職者主要包含了簡歷信息模塊的操作和管理。
1.3" 安全需求分析
系統(tǒng)首先應該提供有效的身份認證機制,并將用戶的權限控制在最小范圍內,確保只有經(jīng)過授權用戶才能訪問特定的數(shù)據(jù)和功能。為了控制用戶的訪問權限,首先需要枚舉出系統(tǒng)中涉及的所有權限信息和角色信息,然后為不同的角色分配不同的權限,并為不同的用戶分配特定的角色,建立起由用戶到角色再到權限的關聯(lián)關系,最終實現(xiàn)對不同用戶擁有不同操作權限的控制。當用戶具有某項權限時,系統(tǒng)才允許其執(zhí)行對應的操作,反之則禁止其操作,并強制其退出系統(tǒng)。其次是對敏感數(shù)據(jù)的保護,系統(tǒng)應當使用適當?shù)募用軝C制來保護傳輸中的數(shù)據(jù)以及存儲在系統(tǒng)中的敏感數(shù)據(jù),防止數(shù)據(jù)被非法訪問。
2" 系統(tǒng)設計
2.1" 系統(tǒng)功能設計
2.1.1" 用戶信息管理模塊設計
為了實現(xiàn)基于角色的訪問控制(Role-Base Access Control,RBAC),系統(tǒng)首先設計了3種不同的角色編碼,分別是用人單位(EMPLOYER)、求職者(EMPLOYEE)和管理員(ADMIN),通過將不同的角色編碼賦予不同的用戶來標識用戶身份。其中,管理員賬戶由系統(tǒng)擁有者直接在數(shù)據(jù)庫創(chuàng)建,并在創(chuàng)建完成后為其分配管理員身份;用人單位和求職者均需先在系統(tǒng)中進行注冊,求職者在注冊時需要進行實名認證并繼續(xù)完善自己的基本信息,包括真實姓名、出生日期、電話、郵箱、住址和求職狀態(tài)等。用人單位在注冊時需要進行法人認證并完善自己的機構信息,包括機構名稱、統(tǒng)一社會信用代碼、營業(yè)執(zhí)照和法人代表等。管理員可對用人單位和求職者等用戶信息進行維護,包括對用人單位和求職者信息的查詢、凍結和封禁等功能。
2.1.2" 院校信息管理模塊設計
管理員可以在院校信息模塊中對院校信息進行管理,包括對院校信息的添加、修改、查詢和刪除等操作。院校信息添加成功后,求職者在填寫自己的教育經(jīng)歷時即可選擇對應的院校信息。在求職者簡歷公開的情況下,用人單位也可以根據(jù)院校信息篩選求職者的簡歷。
2.1.3" 專業(yè)信息管理模塊設計
管理員可以在專業(yè)信息模塊中對專業(yè)信息進行管理,包括對專業(yè)信息的添加、修改、查詢和刪除等操作。專業(yè)信息添加成功后,求職者在填寫自己的教育經(jīng)歷時即可選擇對應的專業(yè)。在求職者簡歷公開的情況下,用人單位也可以根據(jù)專業(yè)信息篩選求職者的簡歷。
2.1.4" 崗位信息管理模塊設計
管理員可以對系統(tǒng)中的崗位信息進行管理,包括對崗位信息的添加、修改、查詢和刪除等功能。崗位信息添加成功后,用人單位在發(fā)布招聘公告時即可選擇對應的崗位信息,方便求職者后續(xù)根據(jù)崗位信息精準地對招聘公告進行篩選,快速找到所需要的招聘信息。
2.1.5" 招聘公告信息管理模塊設計
用人單位可以對招聘公告信息進行管理,包括招聘公告信息的添加、修改、查詢、刪除和發(fā)布等操作。公告發(fā)布后,該公告即對求職者可見,求職者可以在招聘系統(tǒng)中搜尋到該招聘信息并投遞簡歷。求職者可以在招聘公告列表頁面中點擊某個招聘公告,即可打開招聘公告詳情頁面。招聘公告詳情頁面內容主要由三大部分組成,分別是崗位描述內容、技能要求和薪資待遇。其中,崗位描述包含了崗位名稱、工作地點、工作內容和招聘人數(shù)等基本信息。
2.1.6" 簡歷信息管理模塊設計
簡歷作為求職者和用人單位溝通的媒介,在系統(tǒng)中承擔著非常重要的作用。求職者可以對自己的簡歷信息進行管理,包含對個人簡歷信息的添加、修改、查詢和刪除等操作。求職者可以為自己添加多份不同的簡歷,以應對不同崗位的招聘需要。求職者在填寫個人簡歷時,首先需要完善自己的基本信息(包含姓名、聯(lián)系電話、出生日期、郵箱和住址等信息)。此外,求職者還可以在簡歷中補充若干段教育經(jīng)歷、工作經(jīng)歷、項目經(jīng)歷等能夠反映求職者個人競爭力的信息。求職者投遞簡歷后,用人單位即可在候選人列表中查看到該簡歷信息。
2.1.7" 候選人信息管理模塊設計
求職者在招聘公告中點擊投遞按鈕,即可一鍵將自己的簡歷信息投遞到用人單位的候選人列表中。用人單位可以在候選人列表中查詢到所有投遞給指定崗位的簡歷信息,并可以對這些簡歷進行歸類,篩選出合適的簡歷信息以進行下一步的面試邀約。對于不合格的簡歷信息,用人單位還可以將其從候選人列表中移除。為了防止求職者后續(xù)更新簡歷對已經(jīng)投遞的候選人信息造成影響,候選人信息中需要備份求職者的簡歷信息作為快照。
2.2" 安全性能設計
2.2.1" 用戶登錄控制
系統(tǒng)采用賬號加密碼再加驗證碼的方式來進行用戶身份認證,除了使用SHA-256哈希算法對數(shù)據(jù)庫中的密碼進行加密,還在數(shù)據(jù)傳輸過程中使用RSA非對稱加密方式進行加密,以防止傳輸中的數(shù)據(jù)被惡意訪問或篡改。在用戶身份認證過程中,若用戶連續(xù)3次登錄失敗,系統(tǒng)將會暫停用戶在半小時內的登錄權限,若用戶連續(xù)6次登錄失敗,則系統(tǒng)將會鎖定該登錄賬戶,以防止該賬戶密碼被暴力破解。在進行用戶身份認證時,系統(tǒng)首先將用戶輸入的明文密碼通過SHA-256哈希算法轉換為密文,然后將用戶名及轉換后的密碼密文和數(shù)據(jù)庫中存在的用戶名及密碼密文進行比對,若一致則登錄成功,否則登錄失敗。
2.2.2" 用戶操作權限控制
為了標識每個操作所需要的權限,本文設計了2個自定義注解,分別為@Permit和@Authority,用于標注在系統(tǒng)代碼的控制層方法之上。若某個控制層方法(如登錄、注冊方法)前添加了@Permit注解,則表示該方法在任何情況下都可以被訪問(不需要用戶具有任何權限,甚至無須登錄即可訪問該方法);而如果某個方法前標注了@Authority注解,那么表示用戶需要經(jīng)過特定授權才能訪問該方法,注解的value屬性標識了訪問該方法所應具備的權限編碼。為了對用戶的操作權限進行控制,需要在數(shù)據(jù)庫中創(chuàng)建一個權限表,用來枚舉系統(tǒng)中操作權限,每個權限都有一個唯一的權限編碼,與@Authority注解中的value值對應;同時數(shù)據(jù)庫中還包含一個角色權限關聯(lián)表,包含每個角色對應的關系操作權限。根據(jù)用戶、角色、權限的關聯(lián)關系,即可獲取用戶對應的操作權限集合。系統(tǒng)在用戶執(zhí)行操作時,系統(tǒng)首先獲取該操作所調用的控制層方法,并從方法的頭部獲取@Authority注解,從該注解中的value屬性獲取該操作對應的權限編碼,然后判斷用戶的權限列表中是否包含該權限編碼,若包含則允許用戶進行當前操作,反之則禁止執(zhí)行當前操作。
2.3" 數(shù)據(jù)庫設計
本系統(tǒng)采用開源的MySQL數(shù)據(jù)庫系統(tǒng)進行數(shù)據(jù)存儲,使用MyBatis作為對象關系映射(Object Relational Mapping,ORM)工具,采用參數(shù)化查詢及最小化數(shù)據(jù)庫操作權限來防止SQL注入。系統(tǒng)包含的數(shù)據(jù)表有院校信息表、專業(yè)信息表、崗位信息表、簡歷信息表、學習經(jīng)歷表、工作經(jīng)歷表、項目經(jīng)歷表、招聘公告表、候選人信息表、用戶信息表和權限信息表。
院校信息表包括院校ID、院校名稱、院校編碼、院校級別、院校類型、所在省編碼、所在市編碼、所在區(qū)/縣編碼、詳細地址、院校簡介、刪除標志位、創(chuàng)建人ID、創(chuàng)建時間、修改人ID和修改時間等字段;專業(yè)信息表包括專業(yè)ID、專業(yè)名稱、所在院校ID、專業(yè)編碼、刪除標志位、創(chuàng)建人ID、創(chuàng)建時間、修改人ID和修改時間等字段;崗位信息表包括崗位ID、父崗位ID、所在行業(yè)、崗位名稱、刪除標志位、創(chuàng)建人ID、創(chuàng)建時間、修改人ID和修改時間等字段;簡歷信息表包括簡歷ID、姓名、聯(lián)系電話、出生日期、郵箱、住址、最高學歷、畢業(yè)時間、工作年限、自我評價、刪除標志位、創(chuàng)建人ID、創(chuàng)建時間、修改人ID和修改時間等字段;學習經(jīng)歷表包括學習經(jīng)歷ID、院校ID、專業(yè)ID、入學時間、畢業(yè)時間、績點、關聯(lián)簡歷ID、刪除標志位、創(chuàng)建人ID、創(chuàng)建時間、修改人ID和修改時間等字段;工作經(jīng)歷表包括工作經(jīng)歷ID、公司名稱、崗位、入職時間、離職時間、所獲成績、關聯(lián)簡歷ID、刪除標志位、創(chuàng)建人ID、創(chuàng)建時間、修改人ID和修改時間等字段;項目經(jīng)歷表包括項目經(jīng)歷ID、項目名稱、參與人數(shù)、開始時間、結束時間、項目描述、個人貢獻、刪除標志位、創(chuàng)建人ID、創(chuàng)建時間、修改人ID和修改時間等字段;招聘公告表包括公告ID、崗位名稱、工作地點、工作內容、技能要求、薪資待遇、招聘人數(shù)、發(fā)布狀態(tài)、招聘截止日期、刪除標志位、創(chuàng)建人ID、創(chuàng)建時間、修改人ID和修改時間等字段;用戶信息表包括用戶ID、用戶名、密碼、聯(lián)系電話、郵箱、真實姓名/企業(yè)名稱,身份證號碼/統(tǒng)一社會信用代碼、營業(yè)執(zhí)照/身份證照片、性別、法人代表、角色編碼、刪除標志位、創(chuàng)建人ID、創(chuàng)建時間、修改人ID和修改時間等字段;權限信息表包括角色編碼、權限編碼等字段;候選人信息表包括候選人ID、姓名、聯(lián)系電話、出生日期、郵箱、住址、最高學歷、畢業(yè)時間、工作年限、自我評價、刪除標志位、創(chuàng)建人ID、創(chuàng)建時間、修改人ID和修改時間等字段。
3" 結束語
本文設計了一款在線求職招聘管理系統(tǒng),能夠實現(xiàn)用人單位和求職者之間的無縫對接,架起快捷溝通的橋梁。既能滿足求職者在平臺中查詢招聘信息,篩選心儀崗位并進行簡歷投遞的需要,也能滿足用人單位在平臺中發(fā)布招聘公告,獲得人力資源的需要。這打破了時間和空間的限制,使得招聘流程更加便捷高效,節(jié)約了用人單位和求職者的時間成本和人力成本。
參考文獻:
[1] 殷鳳梅,劉冠中.基于SSM框架的網(wǎng)上招聘系統(tǒng)設計與實現(xiàn)[J].長春大學學報,2022,32(4):1-5,62.
[2] 扶明亮,李剛.基于招聘網(wǎng)站大數(shù)據(jù)分析的求職者需求與企業(yè)需求匹配研究[J].統(tǒng)計與管理,2021,36(8):91-97.
[3] 呂洪林.網(wǎng)絡招聘系統(tǒng)設計與實現(xiàn)[J].信息與電腦(理論版),2016(14):89-90.
[4] 王菊花,趙薔,杜濤,等.基于JSP的網(wǎng)絡求職招聘系統(tǒng)的設計與實現(xiàn)[J].價值工程,2016,35(35):95-97.
[5] 殷鳳梅,劉冠中.基于SSM框架的網(wǎng)上招聘系統(tǒng)設計與實現(xiàn)[J].長春大學學報,2022,32(4):1-5,62.
[6] 唐韻清,王一諾,馬瑞,等.基于Web的網(wǎng)上求職招聘系統(tǒng)[J].網(wǎng)絡安全技術與應用,2021(6):29-31.
[7] 莊煥.網(wǎng)上人才招聘系統(tǒng)設計[J].電腦知識與技術,2018,14(29):92-94.
[8] 圣立明,李超,常京.基于微信小程序的求職招聘系統(tǒng)的設計[J].電腦知識與技術,2022,18(31):49-52.