Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:
认证 - 用户身份识别,常被称为用户“登录”;
会话管理 - 每用户相关的时间敏感的状态。
授权 - 访问控制;
密码加密 - 保护或隐藏数据防止被偷窥;
对于任何一个应用程序,Shiro都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro要简单的多。
Shiro的三个核心组件:Subject, SecurityManager 和 Realms
Application Code --> Subject -->Shiro SecurityManager --> Realm
Subject:即“当前操作用户”。
但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。
它仅仅意味着“当前跟软件交互的东西”。但考虑到大多数目的和用途,你可以把它认为是Shiro的“用户”概念。
Realm: Realm充当了Shiro与应用安全数据间的“桥梁”或者“连接器”。
也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro会从应用配置的Realm中查找用户及其权限信息。
示例1:使用Shiro对用户信息进行验证
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.config.IniSecurityManagerFactory;
import org.apache.shiro.mgt.SecurityManager;
import org.apache.shiro.subject.Subject;
import org.apache.shiro.util.Factory;
public class ShiroTest {
public static void main(String[] args) {
//1.
Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
//2.
SecurityManager securityManager = factory.getInstance();
//3.
SecurityUtils.setSecurityManager(securityManager);
//4.
Subject currentUser = SecurityUtils.getSubject();
if(currentUser.isAuthenticated())
{
System.out.println("已登录,SESSION: " + currentUser.getSession());
}
UsernamePasswordToken token = new UsernamePasswordToken("zwx","zavens1");
try {
currentUser.login(token);
} catch (Exception e) {
System.out.println("验证没有通过!");
}
if(currentUser.isAuthenticated())
{
System.out.println("已登录,SESSION: " + currentUser.getSession());
}
}
}
shiro.ini
[users]
zwx=zavens
分享到:
相关推荐
本课程“Shiro入门到精通”旨在帮助开发者全面理解和掌握Shiro的使用,通过与Spring Security的对比,进一步突出Shiro在实际开发中的优势和适用场景。 首先,我们来探讨Shiro的基础知识。Shiro的核心组件包括...
Shiro入门实例 Shiro入门教程 Shiro框架学习demo http://www.xttblog.com/?p=669 权限管理教程。Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 Shiro可以在任何环境下运行,小到最...
在这个"Shiro入门"压缩包中,包含了笔记和源码,是学习Shiro基础知识的好资源。 **一、Shiro基本概念** 1. **认证**:也称为身份验证,是确认用户身份的过程,通常通过用户名和密码进行验证。 2. **授权**:也称为...
在这个"shiro 入门 hello world"项目中,我们将探讨Shiro的基本概念和如何进行简单的集成。 **Shiro框架的核心组件** 1. **认证(Authentication)**:这是验证用户身份的过程。在Shiro中,可以通过`Subject`接口...
本教程将引导你入门 Shiro,通过一个简单的 demo 来理解其基本概念和用法。 1. **Shiro 的核心组件** - **Subject**: Shiro 中的核心概念,代表当前操作的用户或系统中的任何实体。它封装了认证、授权、会话和加密...
shiro入门学习的一份文档,简单的介绍,简单的配置,简单的扩展 。
在这个"Shiro入门实例"中,我们将探讨Shiro的基础知识和如何在项目中进行实战应用。 **1. 认证与授权** Shiro 的核心概念包括主体(Subject)、安全管理者(SecurityManager)、身份验证(Authentication)、授权...
shiro入门学习汇总.pptx
Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、...`shiro-example-master`这个压缩包很可能是包含了一个完整的Shiro入门示例项目,你可以下载后进行学习和调试,更好地理解Shiro的工作原理和实际应用。
Apache Shiro 是一个强大的 Java 安全框架,专注于身份验证、授权和会话管理。它提供了简单易用的 API,使得开发者...本文提供的入门实例是一个基础的起点,实际使用时,你可能需要根据项目的具体需求进行扩展和定制。
在本文中,我们将深入探讨如何使用SpringBoot与Apache Shiro框架构建一个入门级的应用案例。Apache Shiro是一款轻量级的安全框架,它提供身份验证、授权、会话管理和加密等功能,使得开发人员能够轻松地在应用程序中...
shiro入门学习,常规shiro xml配置
Apache Shiro 是一款强大的安全框架,它为Java开发者提供了便捷的身份认证、授权、会话管理和加密功能。在本文中,我们将深入探讨Shiro的核心概念、功能及其架构。 首先,Shiro的主要目标是简化安全管理,使其既...
<bean id="myShiroRealm" class="com.z.shiro.realm.ShiroRealm"> <property name="cacheManager" ref="cacheManager" /> </bean> <!-- Shiro Filter --> <bean id="shiroFilter" class="org.apache...
本入门案例将带你走进 Shiro 的世界,通过一系列简单的步骤,帮助你快速理解并掌握 Shiro 的基本用法。 Shiro 的核心组件包括: 1. **认证**:也称为身份验证,是确认用户身份的过程。在 Shiro 中,这通常涉及到...
Spring Shiro 整合入门教程 在Web应用开发中,安全是至关重要的一个环节。Spring框架作为Java领域最流行的框架之一,提供了丰富的功能,而Apache Shiro则是一款强大的安全管理框架,专注于身份验证、授权和会话管理...