當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
apache shiro版本查看_深入学习SpringBoot(四):springboot整合shiro
生活随笔
收集整理的這篇文章主要介紹了
apache shiro版本查看_深入学习SpringBoot(四):springboot整合shiro
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
shiro是一個權限框架,具體的使用可以查看其官網 http://shiro.apache.org/ 它提供了很方便的權限認證和登錄的功能. 而springboot作為一個開源框架,必然提供了和shiro整合的功能!接下來就用springboot結合springmvc,mybatis,整合shiro完成對于用戶登錄的判定和權限的驗證.
1.準備數據庫表結構
這里主要涉及到五張表:用戶表,角色表(用戶所擁有的角色),權限表(角色所涉及到的權限),用戶-角色表(用戶和角色是多對多的),角色-權限表(角色和權限是多對多的).表結構建立的sql語句如下:
CREATE TABLE `module` ( `mid` int(11) NOT NULL AUTO_INCREMENT, `mname` varchar(255) DEFAULT NULL, PRIMARY KEY (`mid`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;-- ------------------------------ Records of module-- ----------------------------INSERT INTO `module` VALUES ('1', 'add');INSERT INTO `module` VALUES ('2', 'delete');INSERT INTO `module` VALUES ('3', 'query');INSERT INTO `module` VALUES ('4', 'update');-- ------------------------------ Table structure for module_role-- ----------------------------DROP TABLE IF EXISTS `module_role`;CREATE TABLE `module_role` ( `rid` int(11) DEFAULT NULL, `mid` int(11) DEFAULT NULL, KEY `rid` (`rid`), KEY `mid` (`mid`), CONSTRAINT `mid` FOREIGN KEY (`mid`) REFERENCES `module` (`mid`), CONSTRAINT `rid` FOREIGN KEY (`rid`) REFERENCES `role` (`rid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Records of module_role-- ----------------------------INSERT INTO `module_role` VALUES ('1', '1');INSERT INTO `module_role` VALUES ('1', '2');INSERT INTO `module_role` VALUES ('1', '3');INSERT INTO `module_role` VALUES ('1', '4');INSERT INTO `module_role` VALUES ('2', '1');INSERT INTO `module_role` VALUES ('2', '3');-- ------------------------------ Table structure for role-- ----------------------------DROP TABLE IF EXISTS `role`;CREATE TABLE `role` ( `rid` int(11) NOT NULL AUTO_INCREMENT, `rname` varchar(255) DEFAULT NULL, PRIMARY KEY (`rid`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;-- ------------------------------ Records of role-- ----------------------------INSERT INTO `role` VALUES ('1', 'admin');INSERT INTO `role` VALUES ('2', 'customer');-- ------------------------------ Table structure for user-- ----------------------------DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, PRIMARY KEY (`uid`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;-- ------------------------------ Records of user-- ----------------------------INSERT INTO `user` VALUES ('1', 'hlhdidi', '123');INSERT INTO `user` VALUES ('2', 'xyycici', '1992');-- ------------------------------ Table structure for user_role-- ----------------------------DROP TABLE IF EXISTS `user_role`;CREATE TABLE `user_role` ( `uid` int(11) DEFAULT NULL, `rid` int(11) DEFAULT NULL, KEY `u_fk` (`uid`), KEY `r_fk` (`rid`), CONSTRAINT `r_fk` FOREIGN KEY (`rid`) REFERENCES `role` (`rid`), CONSTRAINT `u_fk` FOREIGN KEY (`uid`) REFERENCES `user` (`uid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Records of user_role-- ----------------------------INSERT INTO `user_role` VALUES ('1', '1');INSERT INTO `user_role` VALUES ('2', '2');2.建立Maven工程,建立實體類,搭建mybatis開發環境
maven工程的基本目錄如下:
為了方便,直接在父工程中,導入全部的依賴:
org.springframework.boot spring-boot-starter-parent 1.4.0.RELEASE1.7UTF-8org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools truetrueorg.springframework.boot spring-boot-starter-test testmysql mysql-connector-java runtimecom.alibaba druid 1.0.18org.apache.commons commons-lang3 3.4org.apache.commons commons-pool2 org.mybatis.spring.boot mybatis-spring-boot-starter 1.1.1com.alibaba druid 1.0.18org.apache.commons commons-lang3 3.4org.apache.commons commons-pool2 org.apache.shiro shiro-core 1.2.2org.apache.shiro shiro-spring 1.2.2org.apache.shiro shiro-ehcache 1.2.2org.springframework spring-context-support javax.servlet javax.servlet-api providedjavax.servlet jstl org.springframework.boot spring-boot-starter-tomcat providedorg.apache.tomcat.embed tomcat-embed-jasper providedorg.springframework.boot spring-boot-maven-plugin repackagetruespring-boot-shiro-daospring-boot-shiro-servicespring-boot-shiro-web可以看出這里采用的是阿里巴巴的Druid數據庫.在spring-boot-shiro-web下建立application.properties文件.它主要配置對于數據庫信息和jsp的支持:
##tomcat##server.tomcat.uri-encoding=UTF-8##Druid##spring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8spring.datasource.username=rootspring.datasource.password=rootspring.datasource.initialSize=5spring.datasource.minIdle=5spring.datasource.maxActive=20spring.datasource.maxWait=60000spring.datasource.timeBetweenEvictionRunsMillis=60000spring.datasource.minEvictableIdleTimeMillis=300000spring.datasource.validationQuery=SELECT 1 FROM DUALspring.datasource.testWhileIdle=truespring.datasource.testOnBorrow=falsespring.datasource.testOnReturn=falsespring.datasource.poolPreparedStatements=truespring.datasource.maxPoolPreparedStatementPerConnectionSize=20spring.datasource.filters=stat,wall,log4jspring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000spring.datasource.useGlobalDataSourceStat=true##jsp##spring.mvc.view.prefix=/jsp/spring.mvc.view.suffix=.jsp在spring-boot-shiro-web下建立數據庫連接池的配置類完成對于數據庫連接池的配置:
/** * 數據庫連接池&Mybatis配置類 * @author Administrator * */@Configurationpublic class DruidConfiguation { @Bean public ServletRegistrationBean statViewServle(){ ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*"); //白名單: servletRegistrationBean.addInitParameter("allow總結
以上是生活随笔為你收集整理的apache shiro版本查看_深入学习SpringBoot(四):springboot整合shiro的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python替换文件内容_Python实
- 下一篇: 使用Visual Studio实现Win