如何安装与使用Spring Boot 2.2.x、Spring Framework 5.2.x与Apache Shiro 1.7进行高效开发

简介: 【7月更文第1天】在现代Java Web开发领域,Spring Boot以其简化配置、快速开发的特点备受青睐。结合Spring Framework的成熟与Apache Shiro的强大权限控制能力,我们可以轻松构建安全且高效的Web应用。本篇文章将指导你如何安装并使用Spring Boot 2.2.x、Spring Framework 5.2.x以及Apache Shiro 1.7来构建一个具备基础权限管理功能的项目。

在现代Java Web开发领域,Spring Boot以其简化配置、快速开发的特点备受青睐。结合Spring Framework的成熟与Apache Shiro的强大权限控制能力,我们可以轻松构建安全且高效的Web应用。本篇文章将指导你如何安装并使用Spring Boot 2.2.x、Spring Framework 5.2.x以及Apache Shiro 1.7来构建一个具备基础权限管理功能的项目。

1. 环境准备

1.1 Java Development Kit (JDK)

确保你的开发环境已安装JDK 8或更高版本。请参照前文提供的JDK安装指南进行安装与配置。

1.2 安装Spring Boot CLI

虽然不是必须,但安装Spring Boot CLI可以方便地创建新项目。访问Spring Boot官网下载页面,根据操作系统选择对应版本安装。

1.3 安装IDE

推荐使用IntelliJ IDEA或Eclipse,这两个IDE都对Spring Boot有很好的支持。安装并配置好Java开发环境。

2. 创建Spring Boot项目

2.1 使用Spring Initializr

访问Spring Initializr网站 ,选择项目类型为“Maven Project”,Java版本为8或更高,Spring Boot版本选择2.2.x。在Dependencies栏添加“Spring Web”以启用Web功能。

2.2 下载并导入项目

生成项目后下载ZIP文件,解压后用IDE导入。以IntelliJ IDEA为例,选择“Open”然后找到解压后的项目目录打开。

3. 添加Spring Framework 5.2.x依赖

Spring Boot 2.2.x默认集成了Spring Framework 5.2.x,因此无需额外操作,Spring Boot的Starter POMs已经包含了必要的依赖。

4. 集成Apache Shiro

4.1 添加Shiro依赖

打开pom.xml文件,在dependencies标签内添加Apache Shiro的依赖:

<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-spring</artifactId>
    <version>1.7.1</version>
</dependency>

4.2 配置Shiro

  • src/main/resources目录下创建shiro.ini文件,用于配置Shiro的基本规则。
  • 在Spring Boot主类中添加Shiro的配置类,实现WebSecurityConfigurerAdapter接口,配置ShiroFilterFactoryBean以整合Shiro与Spring Boot。

4.3 示例配置

[main]
# 定义Realm
myRealm = com.example.security.MyRealm

# 安全管理器
securityManager.realm = $myRealm

[urls]
# 所有请求都需要认证
/** = authc
@Configuration
public class ShiroConfig {
   

    @Bean
    public SecurityManager securityManager(MyRealm myRealm) {
   
        DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
        securityManager.setRealm(myRealm);
        return securityManager;
    }

    @Bean
    public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
   
        ShiroFilterFactoryBean factoryBean = new ShiroFilterFactoryBean();
        factoryBean.setSecurityManager(securityManager);
        Map<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
        filterChainDefinitionMap.put("/**", "authc");
        factoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
        return factoryBean;
    }

    // 配置Realm
    @Bean
    public MyRealm myRealm() {
   
        return new MyRealm();
    }
}

5. 实现自定义Realm

创建一个继承AuthorizingRealm的类,如上例中的MyRealm,实现doGetAuthenticationInfodoGetAuthorizationInfo方法,分别用于认证与授权。

6. 测试Shiro功能

  • 创建一些简单的登录、授权测试页面或API。
  • 启动应用,通过浏览器或Postman测试登录功能,观察Shiro对权限的控制效果。

结语

通过上述步骤,我们成功集成了Spring Boot 2.2.x、Spring Framework 5.2.x与Apache Shiro 1.7,搭建了一个具有基本权限管理功能的应用框架。Shiro的灵活配置和强大的认证授权机制,配合Spring Boot的便捷性,为开发安全的Web应用提供了坚实的基础。接下来,你可以根据实际需求进一步完善权限控制逻辑,开发出更加丰富和安全的功能。

目录
相关文章
|
4月前
|
前端开发 Java 应用服务中间件
《深入理解Spring》 Spring Boot——约定优于配置的革命者
Spring Boot基于“约定优于配置”理念,通过自动配置、起步依赖、嵌入式容器和Actuator四大特性,简化Spring应用的开发与部署,提升效率,降低门槛,成为现代Java开发的事实标准。
|
4月前
|
前端开发 Java 微服务
《深入理解Spring》:Spring、Spring MVC与Spring Boot的深度解析
Spring Framework是Java生态的基石,提供IoC、AOP等核心功能;Spring MVC基于其构建,实现Web层MVC架构;Spring Boot则通过自动配置和内嵌服务器,极大简化了开发与部署。三者层层演进,Spring Boot并非替代,而是对前者的高效封装与增强,适用于微服务与快速开发,而深入理解Spring Framework有助于更好驾驭整体技术栈。
|
4月前
|
XML Java 应用服务中间件
【SpringBoot(一)】Spring的认知、容器功能讲解与自动装配原理的入门,带你熟悉Springboot中基本的注解使用
SpringBoot专栏开篇第一章,讲述认识SpringBoot、Bean容器功能的讲解、自动装配原理的入门,还有其他常用的Springboot注解!如果想要了解SpringBoot,那么就进来看看吧!
554 2
|
5月前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
4500 2
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
存储 JSON Java
704 0
|
5月前
|
人工智能 Java 开发者
【Spring】原理解析:Spring Boot 自动配置
Spring Boot通过“约定优于配置”的设计理念,自动检测项目依赖并根据这些依赖自动装配相应的Bean,从而解放开发者从繁琐的配置工作中解脱出来,专注于业务逻辑实现。
1935 0
|
6月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
1065 3
|
7月前
|
安全 Java 数据库
第16课:Spring Boot中集成 Shiro
第16课:Spring Boot中集成 Shiro
923 0

推荐镜像

更多