`
springcloud微服务框架
  • 浏览: 24504 次
文章分类
社区版块
存档分类
最新评论

spring boot 整合 shiro 权限框架

 
阅读更多

1.配置 pom 

写道
<shiro.version>1.4.0</shiro.version>

<!--shiro start-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>${shiro.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>${shiro.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
<version>${shiro.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>${shiro.version}</version>
</dependency>
<!--shiro end-->

 

2. MyShiroRealm.java

写道
package org.fh.realm;

import java.util.Collection;
import java.util.HashSet;

import org.apache.shiro.authc.*;
import org.apache.shiro.authz.AuthorizationInfo;
import org.apache.shiro.authz.SimpleAuthorizationInfo;
import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.PrincipalCollection;
import org.fh.service.system.UsersService;
import org.fh.util.Const;
import org.fh.util.Jurisdiction;
import org.fh.entity.PageData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;

/**
* 说明:Shiro身份认证
* 作者:FH
* From:www.fhadmin.org
*/
public class MyShiroRealm extends AuthorizingRealm {

@Autowired
@Lazy
private UsersService usersService;
/**
* 登录认证
*/
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
UsernamePasswordToken token = (UsernamePasswordToken)authenticationToken; //UsernamePasswordToken用于存放提交的登录信息
PageData pd = new PageData();
pd.put("USERNAME", token.getUsername());
try {
pd = usersService.findByUsername(pd);
if (pd != null){
return new SimpleAuthenticationInfo(pd.getString("USERNAME"), pd.getString("PASSWORD"), getName());
}
} catch (Exception e) {
return null;
}
return null;
}
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
String USERNAME = (String) super.getAvailablePrincipal(principals);
SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
Session session = Jurisdiction.getSession();
Collection<String> shiroSet= new HashSet<String>();
shiroSet = (Collection<String>)session.getAttribute(USERNAME + Const.SHIROSET);
if(null != shiroSet){
info.addStringPermissions(shiroSet);
return info;
}else {
return null;
}
}

}

 

 

分享到:
评论

相关推荐

    spring boot+shiro 权限认证管理案例

    Spring Boot 和 Apache Shiro 的整合是企业级应用中常见的权限认证和安全管理方案。Spring Boot 提供了简化 Java 应用程序开发的框架,而 Shiro 是一个轻量级的安全框架,专注于身份验证、授权、会话管理和加密。...

    Spring Boot整合Shiro搭建权限管理系统

    总结来说,Spring Boot与Shiro的整合使得我们能够轻松地搭建一个权限管理系统。通过Spring Boot的自动配置和Shiro的安全特性,我们可以快速地实现用户认证和授权功能,从而保护应用程序的资源。这个过程包括配置...

    spring boot+shiro+mybatis实现不同用户登录显示不同的权限菜单

    在本项目中,MyBatis与Spring Boot整合,用于处理数据库操作,如用户信息的存取、角色与权限的关联等。通过Mapper接口,开发者可以方便地定义SQL语句,提高代码的可读性和维护性。 **实现步骤** 1. **配置Shiro**:...

    Spring Boot整合Shiro搭建权限管理系统教学提纲.docx

    ### Spring Boot整合Shiro搭建权限管理系统知识点解析 #### 一、Spring Boot与Shiro简介 - **Spring Boot**: 是一种简化Spring应用开发的框架,它提供了自动配置、依赖管理等功能,使得开发者能够快速构建独立的...

    Spring Boot整合Shiro搭建权限管理系统教学提纲.pdf

    【Spring Boot整合Shiro】 Spring Boot与Shiro的整合主要是为了在Spring Boot应用中实现权限管理和用户认证功能。整合步骤通常包括以下部分: 1. **引入依赖**:在`pom.xml`文件中添加Shiro的相关依赖,如`spring-...

    楠哥Spring Boot整合Shiro.zip

    《Spring Boot整合Shiro实战详解》 在Java Web开发领域,Spring Boot以其便捷的配置、快速的启动和强大的集成能力,已经成为主流的框架选择。而Shiro作为一款轻量级的安全框架,它提供了身份验证、授权、会话管理和...

    Spring Boot 整合 Shiro.docx

    Apache Shiro是一个强大的开源安全框架,它专注于身份验证...总的来说,Spring Boot整合Shiro可以帮助开发者快速构建安全的应用程序,通过简单的配置和API调用来实现复杂的权限控制,同时保持系统的灵活性和可扩展性。

    Spring Boot整合Shiro搭建权限管理系统.pdf

    现在,你已经成功地将Spring Boot与Shiro整合,可以开始实现更复杂的权限控制,如角色和权限分配、记住我功能、会话管理等。Shiro提供了一套强大的API和事件监听机制,可以根据业务需求进行定制。 总的来说,Spring...

    Spring Boot整合Shiro搭建权限管理系统 (2).pdf

    Spring Boot 整合 Apache Shiro 搭建权限管理系统是一个常见的实践,用于构建安全的Web应用程序。Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,简化了处理应用安全性的工作...

    Spring boot整合 Shiro实现RBAC权限控制

    本项目基于Spring,整合Apache Shiro框架,实现用户管理和权限控制,主要内容如下: 1.登录(带验证码),包括“记住我”的功能; 2.加密,存储的密码不采用明文,初始密码123; 3.session管理:使用shiro默认的...

    Spring Boot整合Shiro.zip

    在现代Web开发中,Spring Boot和Apache Shiro是两个非常重要的框架。Spring Boot以其便捷的配置和快速的应用启动而受到广大开发者的喜爱,而Apache Shiro则是一个强大的安全管理框架,负责处理认证、授权、会话管理...

    Spring Boot整合Shiro搭建权限管理系统 (2).docx

    Spring Boot 整合 Apache Shiro 搭建权限管理系统是一个常见的实践,用于构建安全的Web应用程序。Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,简化了处理安全性的工作。...

    spring_boot_shiro

    《Spring Boot整合Shiro实战详解》 在现代Java Web开发中,Spring Boot以其简洁的配置、快速的开发体验,已经成为主流框架。而Apache Shiro作为一款强大的安全管理框架,提供了认证、授权、会话管理和安全加密等...

    Spring Boot与Shiro实现权限管理

    要将Spring Boot与Shiro整合,我们首先需要在项目中引入Shiro的依赖。在`pom.xml`文件中,添加如下Maven依赖: ```xml &lt;groupId&gt;org.apache.shiro &lt;artifactId&gt;shiro-spring &lt;version&gt;1.7.2 ``` 接着,我们...

    搭建Springboot整合shiro安全框架+Redis+Swagger+Filter超详细

    在本教程中,我们将深入探讨如何利用Spring Boot整合Shiro安全框架,以实现用户认证与授权,同时结合Redis进行会话管理,以及使用Swagger为API提供文档化接口,最后通过Filter实现自定义的请求处理。以下是对这些...

Global site tag (gtag.js) - Google Analytics