ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:804.71KB ,
资源ID:12506022      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12506022.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SpringBoot整合Shiro搭建权限管理组织系统.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SpringBoot整合Shiro搭建权限管理组织系统.docx

1、SpringBoot整合Shiro搭建权限管理组织系统Spring Boot整合Shiro搭建权限管理系统一、 Spring Boot入门1. 新建一个maven工程2. 修改pom.xml文件,添加spring boot父工程 org.springframework.boot spring-boot-starter-parent 1.5.4.RELEASE 3. 修改默认编译的jdk版本 1.84. 添加spring boot启动器(web支持) org.springframework.boot spring-boot-starter-web 完整的pom.xml文件如下: 4.0.0 co

2、m.hellotomcat springboot-shiro 0.0.1-SNAPSHOT org.springframework.boot spring-boot-starter-parent 1.5.4.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-thymeleaf 1.8 3.0.2.RELEASE 2.0.4 5. 编写controller(UserController)package com.hellotomcat.contr

3、oller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;Controllerpublic class UserController /* * 测试方法 * return */ RequestMapping(/hello) Resp

4、onseBody / 返回json数据 public String hello() System.out.println(hello spring boot); return ok; /* * 测试thymeleaf * param model * return */ RequestMapping(/testThymeleaf) public String testThymeleaf(Model model) / 把数据放入model model.addAttribute(name, admin); / 返回test.html return test; 6. 编写启动类Applicationp

5、ackage com.hellotomcat;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/* * Spring Boot启动类 * author Lenovo * */SpringBootApplicationpublic class Application public static void main(String args) SpringApplication.run(Application.cl

6、ass, args); 7. 运行启动类Application(和运行普通的Java程序一样)8. 然后在浏览器输入:http:/localhost:8080/hello,就可以正常访问了,出现如下画面说明启动成功二、 导入thymeleaf页面模块1. 引入thymeleaf依赖 org.springframework.boot spring-boot-starter-thymeleaf 2. 在controller当中添加如下方法:/* * 测试thymeleaf * param model * return */ RequestMapping(/testThymeleaf) public

7、 String testThymeleaf(Model model) / 把数据放入model model.addAttribute(name, admin); / 返回test.html return test; 3. 在src/main/resources目录下面建立templates目录用来存放页面(Spting-Boot默认页面存放路径,名字不可更改)4. 在templates目录下新建test.html测试thymeleaf的使用!- th:text=$name为thymeleaf语法,获取model中传过来的值5. 在浏览器访问http:/localhost:8080/testTh

8、ymeleaf 进行测试.如果能够在页面上获取到值就说明成功了.此处需要注意在thymeleaf3.0以前对页面标签语法要求比较严格,开始标签必须有对应的结束标签,如果没有就出现如下错误.如果页面标签不严谨还希望使用thymeleaf的话,那就需要升级thymeleaf到3.0以上的版本,此处升级为3.0.26. 升级thymeleaf版本(修复上面的错误),在properties节点下面添加 3.0.2.RELEASE 2.0.4三、 Spring Boot与Shiro整合实现用户认证1. Shiro核心API类Subject: 用户主体(把操作交给SecurityManager)Secur

9、ityManager: 安全管理器(关联Realm)Realm: shiro连接数据库的桥梁2. 导入shiro与spring整合依赖 org.apache.shiro shiro-spring 1.4.0 3. 创建自定义Realmpackage com.hellotomcat.shiro;import org.apache.shiro.authc.AuthenticationException;import org.apache.shiro.authc.AuthenticationInfo;import org.apache.shiro.authc.AuthenticationToken;

10、import org.apache.shiro.authz.AuthorizationInfo;import org.apache.shiro.realm.AuthorizingRealm;import org.apache.shiro.subject.PrincipalCollection;/* * 自定义Realm * author Lenovo * */public class UserRealm extends AuthorizingRealm /* * 执行授权逻辑 */ Override protected AuthorizationInfo doGetAuthorizationI

11、nfo(PrincipalCollection arg0) System.out.println(执行授权逻辑); return null; /* * 执行认证逻辑 */ Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken arg0) throws AuthenticationException System.out.println(执行认证逻辑); return null; 4. 编写shiro的配置类(重点)(最基础的配置类如下)package com.hellotomcat.s

12、hiro;import org.apache.shiro.spring.web.ShiroFilterFactoryBean;import org.apache.shiro.web.mgt.DefaultWebSecurityManager;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;/* * S

13、hiro的配置类 * author Lenovo * */Configurationpublic class ShiroConfig /* * 创建ShiroFilterFactoryBean */ public ShiroFilterFactoryBean getShiroFilterFactoryBean(Qualifier(securityManager)DefaultWebSecurityManager securityManager) ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(

14、); / 设置安全管理器 shiroFilterFactoryBean.setSecurityManager(securityManager); return shiroFilterFactoryBean; /* * 创建DefaultWebSecurityManager */ Bean(name=securityManager) public DefaultWebSecurityManager getDefaultWebSecurityManager(Qualifier(userRealm)UserRealm userRealm) DefaultWebSecurityManager secu

15、rityManager = new DefaultWebSecurityManager(); / 关联realm securityManager.setRealm(userRealm); return securityManager; /* * 创建Realm */ Bean public UserRealm getRealm() return new UserRealm(); 5. 使用shiro内置过滤器实现拦截功能1. 2. 3. 4. 5. 5.1. 新建两个页面add.html和update.htmladd.html页面代码:用户新增页面!- 用户新增update.html页面代码:

16、用户更新页面!- 用户更新5.2. 修改test.html页面测试thymeleaf的使用!- 进入用户添加功能:用户添加 进入用户更新功能:用户更新5.3. 在UserController当中添加下面的方法RequestMapping(/add) / 没有ResponseBody这个注释则返回页面,有就返回json数据 public String add() return /user/add; RequestMapping(/update) public String update() return /user/update; 5.4. 修改ShiroConfig类package com.h

17、ellotomcat.shiro;import java.util.LinkedHashMap;import java.util.Map;import org.apache.shiro.spring.web.ShiroFilterFactoryBean;import org.apache.shiro.web.mgt.DefaultWebSecurityManager;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.context.annotation.Bean;im

18、port org.springframework.context.annotation.Configuration;/* * Shiro的配置类 * author Lenovo * */Configurationpublic class ShiroConfig /* * 创建ShiroFilterFactoryBean */ Bean public ShiroFilterFactoryBean getShiroFilterFactoryBean(Qualifier(securityManager)DefaultWebSecurityManager securityManager) ShiroF

19、ilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(); / 设置安全管理器 shiroFilterFactoryBean.setSecurityManager(securityManager); / 添加Shiro内置过滤器 /* * Shiro内置过滤器,可以实现权限相关的拦截 * 常用的过滤器: * anon: 无需认证(登录)可以访问 * authc: 必须认证才可以访问 * user: 如果使用rememberMe的功能可以直接访问 * perms: 该资源必须得到资源权限才可以访问 * role:

20、 该资源必须得到角色权限才可以访问 */ Map filterMap = new LinkedHashMap(); filterMap.put(/add, authc); filterMap.put(/update, authc); shiroFilterFactoryBean.setFilterChainDefinitionMap(filterMap); return shiroFilterFactoryBean; /* * 创建DefaultWebSecurityManager */ Bean(name=securityManager) public DefaultWebSecurityManager getDefaultWebSecurityManager(Qualifier(userRe

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1