Apache Shiro是Apache旗下的一个强大易用的Java安全|权限框架,提供了认证、授权、加密和会话管理等功能。
相比于Spring Security,Shiro可能没有 Spring Security 的功能强大,但Shiro相对简单一些。
其实很多时候都不需要十分复杂的安全验证,大部分时候使用短小精悍的Shiro就足够了。

这些是主要关心的,常使用的。
这些是shiro提供的特性,根据需要选择使用。
shiro 不会自动去维护用户、维护权限,需要我们自己去设计、提供,然后通过相应的接口注入给 shiro 。

程序代码通过 Subject 来进行认证和授权。 SecurityManager来处理、管理所有Subject的认证、授权; 我们需要给Shiro 的 SecurityManager 注入 Realm,告诉SecurityManager正确的用户信息、授权规则。

在shiro官网可以查看shiro的依赖:

根据需要选择对应的依赖即可。可以点Artifact中的链接下载对应的jar包,也可以使用maven坐标。
<!--shiro的核心模块,是shiro必需的。后面的模块中都已包含了此模块-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.5.1</version>
</dependency>
<!--在web项目中使用shiro-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>1.5.1</version>
</dependency>
<!--在servlet中使用shiro,以filter的形式使用-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-servlet-plugin</artifactId>
<version>1.5.1</version>
</dependency>
<!--在aspectj项目中使用shiro,以aop的形式使用,此模块提供了shiro相关的注解-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-aspectj</artifactId>
<version>1.5.1</version>
</dependency>
<!--在ehcache中使用shiro-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
<version>1.5.1</version>
</dependency>
<!--在spring中使用shiro-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.5.1</version>
</dependency>
<!--在springboot中使用shiro-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-starter</artifactId>
<version>1.5.1</version>
</dependency>
<!--在基于springboot的web项目中使用shiro-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-web-starter</artifactId>
<version>1.5.1</version>
</dependency>
https://blog.csdn.net/pengjwhx/article/details/84867112
在原文的基础上进行了部分增删改
原文:https://www.cnblogs.com/chy18883701161/p/12596091.html