1. 程式人生 > >Shiro完成簡單使用者認證

Shiro完成簡單使用者認證

1.新建Maven專案Shiro_01,並設定專案輸出檔案顯示 2.訪問apache官網下載地址搜尋到shiro,下載shiro的core、web、整合spring的依賴並且匯入到專案中的pom.xml 在這裡插入圖片描述3.專案的板塊圖 在這裡插入圖片描述 4.建立認證使用者的檔案shiro.ini檔案

#配置使用者(完成shiro最基礎的認證,在java中實現使用者認證和使用者授權)
[users]
admin=123
sa=456

5.建立測試類TestShiro.java

package com.zs.test;

import org.apache.shiro.SecurityUtils;
import org.apache.
shiro.authc.UsernamePasswordToken; import org.apache.shiro.config.IniSecurityManagerFactory; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.subject.Subject; import org.apache.shiro.util.Factory; /** * * @ClassName: TestShiro * @Description:完成使用者的簡單認證 * @author 小思 * @date 2018年10月24日 下午8:19:34 * */
public class TestShiro { public static void main(String[] args) { // 建立shiro的安全管理工廠 // classpath:shiro.ini(使用何處的配置檔案作為安全管理認證檔案) Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); //通過工廠例項化安全管理者的物件 SecurityManager securityManager=factory.getInstance()
; //利用幫助類將安全管理者新增到當前的安全管理環境中 SecurityUtils.setSecurityManager(securityManager); //獲取安全管理的專案 Subject subject = SecurityUtils.getSubject(); //建立儲存使用者使用者名稱和密碼的令牌(使用者名稱和密碼是頁面收集的,是使用者在頁面上填寫的) UsernamePasswordToken usernamePasswordToken=new UsernamePasswordToken("admin","1234"); //儲存認證結果 boolean authenticated=false; try { //將專案進行登入認證 subject.login(usernamePasswordToken); //獲取認證結果(使用者輸入的使用者名稱和密碼和shiro.ini檔案中的使用者名稱和密碼匹配這返回為ture,為false則會報錯) authenticated=subject.isAuthenticated(); } catch (Exception e) { } //輸出認證結果 System.out.println(authenticated); } }

6.執行檢視結果 (1):認證失敗(使用者輸入的使用者名稱和密碼和shiro.ini檔案不一致) 在這裡插入圖片描述 在這裡插入圖片描述

在這裡插入圖片描述 (2):認證成功(使用者輸入的使用者名稱和密碼和shiro.ini檔案一致) 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 說在最後的話:編寫實屬不易,若喜歡或者對你有幫助記得點贊+關注或者收藏哦~