版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
實驗三實現(xiàn)口令認證
1.實驗概述
身份認證(EntityAuthentication)也稱為實體鑒別,目的是證實一個實體就是所
聲稱的實體。計算機系統(tǒng)中,對各種計算資源(如文件、數(shù)據(jù)庫、應用系統(tǒng))機密性和
完整性的保護,其本質(zhì)是防il.用戶對系統(tǒng)進行非授權的訪問。在處理授權問題之前,
首先需要確認用戶的身份。身份認證通常是系統(tǒng)安全保護的第一道防線,是訪問控制
和責任追究的基礎;認證的失敗可能導致整個系統(tǒng)的失敗。
這里涉及三個概念:認證、授權及審計。
(1)認證:對用戶身份的證實。認證能防止攻擊者假冒合法用戶獲取訪問權限。
(2)授權:當用戶身份被證實后,賦予該用戶進行資源訪問的權限。
(3)審計:每一個用戶都應該為自己所做的操作負貢,所以在每個操作后都要竽卜
記錄,以便事后核查。
身份認證分為單向認證和相互認證。如果通信的雙方只需要一方(聲稱方)被另一
方(驗證方)鑒別身份,這樣的認證過程是單向認證。在相互認證過程中,通信雙方需
要互相認證對方的身份。
用戶的身份認證過程通常采用三類憑證驗證實體身份:用戶所知道的信息(如=1
令、密鑰或記憶的圖形、圖像等),用戶持有的物品(如令牌、智能卡或USBKey等),
用戶獨一無二的特征或能力(如指紋、聲音、視網(wǎng)膜血管分布圖或簽字等)。對主機的
認證通常可以根據(jù)地理位置、IP地址或者硬件地址(MAC地址)、時間、特定場所等作
為認證依據(jù)。每一種認證方法都存在一些問題,如對口令的認證,敵手可猜測、竊取
口令;對用戶持有的令牌的認證,敵手可以盜取令牌,用戶也可能丟失令牌;至于使
用生物特征進行認證,也存在誤報和漏報、擾動攻擊、用戶的認可程度、使用成本和
易用性等問題。因此,為提高認證系統(tǒng)的強度,可以使用多個因子的認證方式,如口
令加智能卡,這種認證方式稱為多因子認證。
此次課外實踐將在熟悉認證概念的基礎下,使用高級語言實現(xiàn)基于用戶名口令的
登錄程序。
2.實驗內(nèi)容
2.1技術說明
此次課外實踐設計的登錄、注冊程序采用B/S架構與SSM框架,具有較高的穩(wěn)定
性與可復用性,前端頁面引入LayUI框架簡化開發(fā)。
2.2程序代碼
(1)注冊
Controller-控制層
@PostMapping("/doRegister")
@ResponseBody
publicReturnDsondoRegister(@RequestBodyUseruser){
try{
if(userService.isUsernameExsit(user.getllsername())){
returnnewReturnJson(2,”用戶已存在!、0,
)
if(.equals(user.getGender())){
user.setAvatar("http://my.image.bed/avatar-boy.png");
)
if("女"'equals(user.getGender。))(
user.setAvatar("http://my.image.bed/avatar-girl.png");
}
userService.register(user);
returnnewReturnJson(0,"注冊成功",0,M");
}catch(Exceptione){
returnnewReturnJson(l,"注冊失敗",。,""
)
)
Service-業(yè)務層
0Override
publicvoidregister(Useruser){
user.setPassword(PasswordUtil.bryptPwd(user.getPassword())
);
userMapper.insert(user);
)
0Override
publicBooleanisllsernameExsit(Stringusername){
returnuserMapper.selectByUsername(username)!=null;
)
Mapper-數(shù)據(jù)持久層
<selectid="selectByUsername"resultType="com.zyl.User">
select*fromuserwhereusername=#{username}
</select>
<insertid="insert"useGeneratedKeys="true"keyProperty="id>
insertintouserCusernamejpassword,gender,avatar)
values(#{username},#{password}J#{gender},#{avatar})
</insert>
前端JS(不包含靜態(tài)Html頁面)
〈scriptsrc="/static/res/layui/layui.js"></script>
<script>
layui.cache.page='user';
layui.config({
version:"3.0.0"
,base:'/static/res/mods/'
}).extend({
fly:'index'
)).use('fly');
layui.use(['form','jquery'],function(){
varform=layui.form;
var$=layui.jquery;
form.verify((
username:function(value,item){
varDigital=/\d/;
varLetters=/[a-zA-Z]/;
if(!(Digital.test(value)&&!Letters.test(value)&&val
ue.length==11)){
return'學號只能為1:1■位數(shù)字!’;
)
力
nickname:function(value){
if(value.length<2){
return”昵稱至少輸入2個字符!
}
},
pwd:function(value,item){
varDigital=/\d/;
varLetters=/[a-zA-Z]/;
if(1(Digital.test(value)&&Letters.test(value)&&valu
e.length>=0)){
return'密碼必須含有字母和數(shù)子!’;
)
rePwd:function(value,item){
@PostMapping("/doLogin")
@ResponseBody
publicReturnJsondoLogin(HttpServletRequestrequest,@Reque
stBodyUseruser){
UsernewUser=userService.loginCheck(user);
if(newJser!=null){
request.getSession().setAttribute("user",newUser);
if.equals(newUser.getType())){
request.getSession().setAttribute("adminUser"newUser
);
}
request.getSession().setMaxInactiveInterval(1800);
returnnewReturnJson(0,"登錄成功",0,
}else{
returnnewReturnJson(1,”用戶名或密碼錯誤","”為
)
}
Service-月艮務層
gOverride
publicUserloginCheck(Useruser){
UsertmpUser=userMapper.selectByllsername(user.getUsernam
eO);
booleanisLogin=PasswordUtil.validPwd(user.getPassword()
,tmpUser.getPassword());
if(isLogin){
returntmpUser;
}else{
returnnull;
)
}
Mapper-數(shù)據(jù)持久層
<selectid="selectByUsername"resultType="com.zyl.User">
select*fromuserwhereusername=#{username}
</select>
前端JS(不包含靜態(tài)Html頁面)
<scriptsrc="/static/res/layui/layui.js"x/script>
<script>
layui.config({
version:"3.0.0"
,base:'/static/res/mods/'
}).extend({
fly:'index'
}).叱(');
layui.use(['form','jquery*],function(){
vanform=layui.form;
van$=layui.jquery;
〃監(jiān)聽提交
form.on('submit(login),,function(data){
$.ajax({
url:'/doLogin'
,type:'post'
,contentType:"application/json"
,data:JSON.stringify(data.field)
,success:function(result){
if(result.msg一,登錄成功'){
layer.msg(,登錄成功,,{
time:2000,end:function(){
location.href='/index'
)
});
}else{
layer.msg(result.msg?{
time:1000
});
vanindex=parent.layer.getFrameindex(
);
parent.layer.close();
)
}
});
returnfalse;
});
});
</script>
</body>
</html>
(3)密碼加密工具類
publicclassPasswordutil
/**加密密碼*/
publicstaticStringbryptPwd(Stringpwd){
returnBCrypt.hashpwCpwd^BCrypt.gensalt());
}
/**校驗密碼*/
publicstaticbooleanvalidPwd(Stringpwd,Stringhashed){
try(
returnBCrypt.checkpw(pwd,hashed);
}catch(Exceptione){
e.printStackTraceO;
returnfalse;
)
}
)
2.3運行截圖
(1)注冊頁
(J)ft*IUH
登蜃心
用Q名g人用戶名
"at-?sO女
密碼**人士碼-1&1中布
WU.2QUI?認2的
(2)登錄頁
STam
用戶名■懦入亭號
3.實驗心得
通過此次課外實踐,讓我意識到信息安全的重要性,此次實驗所設計的注冊、登
錄程序是基于文本口令實現(xiàn)身份認證的,基于口令的認證方式是較常用的一種技術。
在最初階段,用戶首先在系統(tǒng)中注冊自己的用戶名和登錄口令,系統(tǒng)將用戶名和口令
存儲在內(nèi)部數(shù)據(jù)庫中,這個口令?般是長期有效的,因此也稱為靜態(tài)口令。
基于靜態(tài)11令的身份認證技術因其簡單和低成本而得到了廣泛的使用。但這種方
式存在嚴重的安全問題,安全性僅依賴于口令,口令一旦泄露,用戶就可能被假冒。
簡單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職電氣(電氣控制基礎)試題及答案
- 2025年高職(汽車電子技術)汽車電控系統(tǒng)測試卷及解析
- 2025年中職(數(shù)字媒體技術應用)數(shù)字媒體概論期末測試題及解析
- 大學(電子信息工程)電子技術基礎2026年綜合測試題及答案
- 2025年大學成本會計(高級成本會計)試題及答案
- 深度解析(2026)《GBT 18295-2001油氣儲層砂巖樣品 掃描電子顯微鏡分析方法》(2026年)深度解析
- 深度解析(2026)《GBT 18204.10-2000游泳池水微生物檢驗方法 大腸菌群測定》
- 深度解析(2026)《GBT 17906-2021消防應急救援裝備 液壓破拆工具通 用技術條件》
- 深度解析(2026)《GBT 17886.3-1999標稱電壓1 kV及以下交流電力系統(tǒng)用非自愈式并聯(lián)電容器 第3部分內(nèi)部熔絲》
- 山西財經(jīng)大學《中學語文課堂教學設計與實踐》2025-2026學年第一學期期末試卷
- 建筑施工材料采購投標方案(技術標)
- 反舞弊培訓課件
- 形勢與政策(吉林大學)知到智慧樹章節(jié)測試課后答案2024年秋吉林大學
- 【MOOC】大學生職業(yè)發(fā)展與就業(yè)指導-福州大學 中國大學慕課MOOC答案
- 中國法律史(四川師范大學)知到智慧樹章節(jié)答案
- 神經(jīng)內(nèi)科危重病人的護理
- 20G520-1-2鋼吊車梁(6m-9m)2020年合訂本
- 《防火墻概述》課件
- 培訓學校前臺百問百答
- 建平宏潤膨潤土有限公司礦山地質(zhì)環(huán)境保護與土地復墾方案
評論
0/150
提交評論