(二) shiro入门 :输出 hello world
生活随笔
收集整理的這篇文章主要介紹了
(二) shiro入门 :输出 hello world
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 前言 :?
shiro代碼參考java1234網站《一頭扎進shiro》視頻敲出來的,原理這些請參視頻 ,
點擊 下載源碼
2 ?項目結構圖
3 代碼
HelloWorld.java
package shiro;import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.config.IniSecurityManagerFactory; import org.apache.shiro.util.Factory; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.subject.Subject;public class HelloWorld {public static void main(String[] args) {// 讀取配置文件,初始化SecurityManager工廠Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");// 獲取securityManager實例SecurityManager securityManager = factory.getInstance();// 把securityManager綁定到SecurityUtils中SecurityUtils.setSecurityManager(securityManager);// 得到當前執行的用戶Subject currentUser = SecurityUtils.getSubject();// 創建token令牌,用戶名/密碼UsernamePasswordToken token = new UsernamePasswordToken("java1234","123456");// 身份驗證try{currentUser.login(token);System.out.println("身份驗證成功");}catch(Exception e){e.printStackTrace();System.out.println("身份驗證失敗");}currentUser.logout();//退出}}
log4j.properties
# debug config start log4j.rootLogger=debug,stdout,log,errorlog,debuglog# degug config over###Console ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %d %-5p (%F\:%L) - %m ...... %c%n### Log ### log4j.appender.log = org.apache.log4j.DailyRollingFileAppender log4j.appender.log.File =log/info/info.log log4j.appender.log.Append = true log4j.appender.log.Threshold = INFO log4j.appender.log.DatePattern='.'yyyy-MM-dd log4j.appender.log.layout = org.apache.log4j.PatternLayout log4j.appender.log.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} (%F\:%L) [ %t ] %m%n ### Error ### log4j.appender.errorlog = org.apache.log4j.DailyRollingFileAppender log4j.appender.errorlog.File=log/error/error.log log4j.appender.errorlog.Append = true log4j.appender.errorlog.Threshold = ERROR log4j.appender.errorlog.DatePattern='.'yyyy-MM-dd log4j.appender.errorlog.layout = org.apache.log4j.PatternLayout log4j.appender.errorlog.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} (%F\:%L) [ %t ] %m%n ### DEBUG ### log4j.appender.debuglog = org.apache.log4j.DailyRollingFileAppender log4j.appender.debuglog.File=log/debug/debug.log log4j.appender.debuglog.Append = true log4j.appender.debuglog.Threshold = DEBUG log4j.appender.debuglog.DatePattern='.'yyyy-MM-dd log4j.appender.debuglog.layout =org.apache.log4j.PatternLayout log4j.appender.debuglog.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} (%F\:%L) [ %t ] %m%n log4j.appender.stdout.Threshold=DEBUG##forbidding some package output log log4j.logger.shiro=DEBUG
shiro.ini
[users] java1234=123456 jack=123
pom.xml (這是一個Maven項目)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>shiro.leanring</groupId><artifactId>shiro</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!-- 添加 shiro需要一些包 開始 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>1.2.4</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.12</version></dependency> <dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><!-- 添加 shiro需要一些包 結束 --></dependencies> </project>
4 運行
?只要HelloWorld.java,便會出 ? 現身份驗證 ?成功提示
總結
以上是生活随笔為你收集整理的(二) shiro入门 :输出 hello world的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (一) shario教程资料
- 下一篇: (三) shiro通过jdbc连接数据库