`

转-shiro基础学习(四)—shiro与项目整合

 
阅读更多

 转自 http://www.cnblogs.com/yangang2013/p/5716928.html

shiro基础学习(四)—shiro与项目整合

 

一、认证

1.配置web.xml

image

 

2.配置applicationContext.xml

     在applicationContext.xml中配置一个bean,ID和上面的过滤器的名称一致。

     image

     image

securityManager: 这个属性是必须的。

loginUrl: 没有登录的用户请求需要登录的页面时自动跳转到登录页面,不是必须的属性,不输入地址的话会自动寻找项目web项目的根目录下的”/login.jsp”页面。

successUrl: 登录成功默认跳转页面,不配置则跳转至”/”。如果登陆前点击的一个需要登录的页面,则在登录自动跳转到那个需要登录的页面。不跳转到此。

unauthorizedUrl: 没有权限默认跳转的页面。

 

     image

anon: 例子/admins/**=anon 没有参数,表示可以匿名使用。

authc: 例如/admins/user/**=authc表示需要认证(登录)才能使用,没有参数

roles: 例子/admins/user/**=roles[admin],参数可以写多个,多个时必须加上引号,并且参数之间用逗号分割,当有多个参数时,例如admins/user/**=roles["admin,guest"],每个参数通过才算通过,相当于hasAllRoles()方法。

perms: 例子/admins/user/**=perms[user:add:*],参数可以写多个,多个时必须加上引号,并且参数之间用逗号分割,例如/admins/user/**=perms["user:add:*,user:modify:*"],当有多个参数时必须每个参数都通过才通过,想当于isPermitedAll()方法。

rest: 例子/admins/user/**=rest[user],根据请求的方法,相当于/admins/user/**=perms[user:method] ,其中method为post,get,delete等。

port: 例子/admins/user/**=port[8081],当请求的url的端口不是8081是跳转到schemal://serverName:8081?queryString,其中schmal是协议http或https等,serverName是你访问的host,8081是url配置里port的端口,queryString

是你访问的url里的?后面的参数。

authcBasic: 例如/admins/user/**=authcBasic没有参数表示httpBasic认证

ssl: 例子/admins/user/**=ssl没有参数,表示安全的url请求,协议为https

user: 例如/admins/user/**=user没有参数表示必须存在用户,当登入操作时不做检查

注: anon,authcBasic,auchc,user是认证过滤器, perms,roles,ssl,rest,port是授权过滤器。

 

3.修改login方法

     修改UserAction的login方法,使用shiro提供的方式进行认证。

image

image

 

4.自定义Realm

image

image

账号不存在异常

image

密码错误异常

image

 

二、shiro实现权限控制的三种方式

1.使用URL实现权限控制

     image

 

2.使用注解实现权限控制

(1)在Spring配置文件中开启shiro注解

image

 

(2)在要设置权限的方法上使用shiro注解

image

 

3.使用shiro标签进行权限控制

(1)在Jsp页面引入shiro标签库

image

 

(2)在Jsp页面使用shiro标签

image

分享到:
评论

相关推荐

    thymeleaf-extras-shiro-2.0.1

    《Thymeleaf-extras-shiro 2.0.1:整合Shiro与Thymeleaf的安全增强框架》 在Web开发中,安全是至关重要的一个环节,而Thymeleaf-extras-shiro正是为了解决这个问题而生的。这个项目是基于Thymeleaf的扩展,它引入了...

    SpringMVC-Activiti5.16-Shiro-EasyUI项目整合

    《SpringMVC-Activiti5.16-Shiro-EasyUI项目整合详解》 在现代企业级应用开发中,高效、安全、易用是至关重要的考量因素。SpringMVC、Activiti、Shiro和EasyUI这四个技术组件的整合,正是为了实现这样的目标。这篇...

    springboot-shiro

    《SpringBoot与Shiro构建细粒度动态权限管理系统详解》 在现代Web开发中,权限管理是不可或缺的一部分,尤其对于企业级应用来说更是如此。SpringBoot以其轻量级、便捷的特性,已经成为Java开发的首选框架之一。而...

    FEBS-Shiro-2.0.zip

    **FEBS-Shiro-2.0.zip** 是一个包含了...开发者可以通过此项目学习到Spring Boot、MyBatis Plus、Shiro、JavaScript和jQuery等相关技术的实践应用,同时也可以借鉴其设计思想和架构模式,用于构建自己的企业级应用。

    SpringBoot-Shiro整合权限管理源码

    本教程将深入探讨如何在SpringBoot项目中整合Shiro,实现一套完整的权限管理体系。 ### 一、Shiro简介 Apache Shiro 是一个轻量级的安全框架,它提供了一套相对简单的API,用于处理认证、授权、会话管理和安全性...

    springboot-08-shiro.rar

    本篇文章将详细探讨如何在SpringBoot项目中整合Shiro,实现安全控制。 一、Shiro简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、会话管理和基于密码学的安全服务。Shiro的设计目标是简化...

    springboot-shiro-demo_mybatisplus_DEMO_shiro权限管理_

    在IT行业中,Spring Boot、Shiro以及MyBatis Plus是三个非常重要的技术组件,它们各自在不同的领域发挥着关键作用。...通过这个项目,开发者可以学习到如何整合这三个技术,构建一个具备完整权限管理功能的Web应用。

    maven-spring-shiro

    在`maven-spring-shiro`项目中,Maven负责整合所有必要的库和插件,确保项目能够顺利运行。开发者可以通过定义不同生命周期阶段和插件目标,实现编译、测试、打包、部署等一系列自动化操作。 接着,Spring框架是...

    shiro-shiro-root-1.5.3.zip

    解压"shiro-shiro-root-1.5.3.zip"后,开发者可以找到所有必要的JAR包,包括Shiro的核心库和其他依赖项,将其添加到项目类路径中,然后就可以开始编写安全相关的代码了。需要注意的是,为了充分利用Shiro的功能,...

    spring-shiro-demo

    【标题】"spring-shiro-demo" 是一个基于Spring和Apache Shiro框架的示例项目,旨在展示如何在Java Web应用中整合这两个强大的安全框架来实现用户认证和授权。 【描述】"spring-shiro-demo" 提供了实际操作的代码,...

    SpringBoot-Shiro-Vue_2.7z

    《SpringBoot-Shiro-Vue整合实战详解》 在IT领域,SpringBoot、Shiro和Vue.js是三个非常重要的技术组件,它们分别代表了后端开发的便捷性、权限管理的高效性和前端展示的灵活性。本项目"SpringBoot-Shiro-Vue"结合...

    spring-shiro-training项目解读

    5. 整合Shiro与Spring:通过Spring的DelegatingSecurityLifecycle,将Shiro的生命周期方法绑定到Spring容器,以便在应用启动和关闭时正确初始化和关闭Shiro。 6. 配置Web.xml:在Web应用的配置文件中,设置过滤器以...

    springboot-shiro认证系统框架--成型框架

    SpringBoot-Shiro 认证系统框架是一个成熟的解决方案,它整合了SpringBoot和Apache Shiro这两个强大的工具,旨在简化Web应用的安全管理。这个成型框架提供了一个完整的认证中心服务,支持分布式环境,非常适合在生产...

    SSM-Shiro.zip_shiro ssm 整合_ssm web shiro%2_ssm+shiro_ssm590.com_

    7. **应用场景**:SSM-Shiro项目适用于需要权限控制的Web应用,例如企业级管理系统、电商平台、社区论坛等,确保只有授权用户才能访问特定资源。 8. **项目结构**:项目通常包含以下模块:配置文件(如Spring的...

    oa-shiro-activiti-poi初级版本

    本项目"oa-shiro-activiti-poi初级版本"将这三者巧妙地整合在一起,为开发者提供了一个学习和实践的基础平台。 1. **Apache Shiro**: Apache Shiro是一款强大的安全框架,它提供了认证、授权、会话管理和加密等...

    springcloud-shiro

    这个项目不仅展示了如何在Spring Boot中使用Shiro进行权限控制,还演示了如何在微服务架构中利用Zuul进行服务路由和安全过滤,对于学习和理解Spring Cloud和Shiro的集成具有很高的参考价值。开发者可以通过这个项目...

    cas-shiro-https单点登录实现

    - 示例项目的源代码,用于展示如何整合SSO和Shiro - HTTPS相关的配置文档 通过深入研究这些文件,你可以更全面地了解如何在实际环境中实现`cas-shiro-https`单点登录。这不仅可以提升你的安全知识,也对理解和实践...

    spring-boot-shiro-demo

    Spring Boot与Shiro的整合** Spring Boot简化了Shiro的集成过程,我们可以在配置文件中添加Shiro的依赖,并通过自定义Shiro配置类来配置过滤器链。Shiro的核心组件包括Subject、SecurityManager、Realm等,它们...

    Spring-SpringMVC-MyBatis-Shiro整合

    接下来,我们将深入探讨这四个组件的整合以及它们各自的关键知识点。 **Spring框架**:Spring的核心是依赖注入(Dependency Injection,DI),它允许通过配置来管理对象之间的关系,而不是硬编码这些关系。此外,...

    spring mvc-redis-shiro

    本项目"spring mvc-redis-shiro"是一个整合了这三个技术的实例,旨在提供一个清晰易懂的代码参考。 首先,Spring MVC是Spring框架的一部分,专门用于构建MVC(Model-View-Controller)结构的Web应用。它简化了模型-...

Global site tag (gtag.js) - Google Analytics