JSP整合Shiro实例
Apache Shiro是一个开源的安全机制框架,本例中使用jsp的web项目整合shiro
主要分为以下几大部分:
(1)shiro的用户的配置,shiro.ini文件
(2)shiro的用户登录,shiro自动抛出异常(如密码错误,用户名不存在等)
(3)通过登录用户的权限,判断该用户是否对某一组件具有特定的权限
(4)使用Shiro jsp taglib
1.首先看一下我的shiro.ini文件,看一下用户名、密码以及配置的权限,其中*为通配符
2.查看JSP的web.xml文件:主要是声明了两个类的映射,login和logout,方便JSP form表单action提交到到后台java代码
3.JSP登录界面,username和password,form表单提交后,进入Login类,这个类继承了HttpServlet,重写doPost方法
index.jsp:
Login.java:获取request的username和password后,调用Check类下的logCheck方法,这个方法是该项目中shiro的核心
Login.java:
Check.java:logCheck方法返回一个String,表示根据用户登录的情况,返回接下来的页面,失败:index.jsp,成功:second.jsp
4.登录成功后的页面second.jsp
这个页面根据用户的权限“button”,分别用java代码和jsp标签两种方式判断是否当前用户具有名称为“button”的权限,
通过该权限判断是否页面中的button按钮暴露给当前用户
5.标签库描述文件(TLD)被打包在META-INF/shiro.tld文件中的shiro-web.jar(导入shiro-all.jar就行)
使用时,通过以下代码进行导入:
<%@taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
6.最后的注销,调用了java类Logout,很简单就是一个退出方法,这里就忽略了。
7.登录时,通过admin和user和member登录后,button这个按钮会根据各自的权限不同确定是否显示在页面中。
8.以上皆为小子初次尝试,如有啥子不好的地方,请各位大神批评指正。。。。。。。。。。
相关推荐
标题中的"ssm整合shiro的的demo"是指一个实例项目,演示了如何将SSM框架与Shiro进行集成。这个项目对于初学者来说非常有帮助,因为它包含了从头到尾的完整流程,可以让学习者理解并实践这两个框架的整合过程。 描述...
Spring 整合 Shiro 并扩展使用 EL 表达式实例详解 本文将详细介绍 Spring 整合 Shiro 框架,并通过扩展使用 Spring 的 EL 表达式来实现权限控制。Shiro 是一个轻量级的权限控制框架,应用非常广泛。下面是 Spring ...
2. **Spring Boot与JSP整合** - **视图解析器配置**:由于Spring Boot默认使用Thymeleaf等模板引擎,若要使用JSP,需额外配置视图解析器,如`InternalResourceViewResolver`,并指定JSP的存放路径。 - **JSP页面...
本篇将带你逐步了解如何使用 Shiro 搭建一个简单的权限管理系统,并结合 Spring 进行整合。 首先,我们需要在 `web.xml` 文件中配置 Shiro 过滤器。这里我们添加了一个名为 `shiroFilter` 的过滤器,使用 `...
本实例主要探讨的是"Maven+SpringMVC+MyBatis+Shiro"的整合,这是一个常见的Java Web开发组合,用于实现高效、安全的业务逻辑处理。让我们逐一解析这些框架及其在项目中的作用。 1. Maven: Maven是Apache软件基金...
在前端,我们可以使用Shiro提供的JSP标签库来显示登录、注销等界面元素,并进行权限控制。例如,我们可以使用`<shiro:hasPermission>`标签来决定用户是否能看到或操作某些页面元素。 最后,测试是必不可少的。创建...
在SpringBoot中整合Shiro,可以快速搭建权限管理系统,实现用户登录、权限控制、会话管理等功能。下面将详细解释这个整合过程以及相关知识点。 首先,理解SpringBoot的核心特性:自动配置、嵌入式Servlet容器、起步...
5. **Shiro标签使用**:在JSP页面中,可以使用Shiro提供的标签库来控制用户的访问权限,如`<shiro:hasRole>`和`<shiro:hasPermission>`。 6. **安全控制器**:在Spring MVC的Controller中,你可以利用Shiro的注解...
5. **Shiro标签库**:在视图层,可以使用Shiro提供的JSP标签进行权限控制,例如`<shiro:hasRole>`和`<shiro:notHasRole>`。 6. **事件监听**:通过实现Shiro的事件监听器,可以在用户登录、登出等特定事件时执行...
此外,SpringMVC支持多种视图技术,如JSP、FreeMarker、Thymeleaf等。 **Shiro** Apache Shiro是一个轻量级的安全框架,适用于Java平台。它提供身份验证(Authentication)、授权(Authorization)、会话管理...
6. **整合Struts与Spring**:使用Spring的Struts插件,使Spring接管Struts的Action实例化。 7. **整合Hibernate与Spring**:通过SessionFactoryBean配置Hibernate,使Spring管理SessionFactory,并配置事务管理器。 ...
这个项目不仅提供了一个学习Shiro和SSM整合的实例,同时也为开发者提供了一个安全登录的起点。通过实践和调试,你可以更好地理解这些技术的协同工作原理,进一步提升你的Java Web安全开发能力。
4. **`Shiro-applicationContext-shiro.xml`**:Spring配置文件,用于整合Shiro与SpringMVC框架。 5. **`HomeController`**:这是SpringMVC控制器层的一部分,处理与首页相关的请求。 6. **三个JSP文件**:分别...
在这个项目中,登录页面可能使用了JSP或HTML,通过Ajax异步提交登录请求,后端接收请求后,通过Shiro验证用户身份,如果验证成功,会设置用户session,并重定向到相应页面。 6. **权限管理**:Shiro的授权功能使得...
本项目“Maven+SSM+Shiro”是一个典型的JavaWeb项目实例,它将Maven作为项目管理工具,Spring、Spring MVC和MyBatis(简称SSM)作为核心框架,Shiro作为安全框架进行整合,为开发者提供了丰富的功能和灵活的架构。...
为了更好地整合 Shiro 和 Spring,通常需要在 web.xml 文件中配置一个名为 `shiroSecurityFilter` 的过滤器,并指定对应的 Spring 配置文件位置。下面详细介绍具体的配置步骤: ##### Web.xml 配置示例 ```xml <!-...
这个系统的设计和实现涵盖了多个重要的Java Web开发技术,为学习和理解这些技术在实际应用中的结合提供了很好的实例。下面将分别对这些技术进行详细讲解。 1. **Spring MVC**:Spring MVC是Spring框架的一部分,它...
本项目"spring mvc-redis-shiro"是一个整合了这三个技术的实例,旨在提供一个清晰易懂的代码参考。 首先,Spring MVC是Spring框架的一部分,专门用于构建MVC(Model-View-Controller)结构的Web应用。它简化了模型-...