`

JSP整合Shiro实例

阅读更多

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.以上皆为小子初次尝试,如有啥子不好的地方,请各位大神批评指正。。。。。。。。。。

  • 大小: 5.1 KB
  • 大小: 11.1 KB
  • 大小: 6.6 KB
  • 大小: 10.5 KB
  • 大小: 24 KB
  • 大小: 24 KB
分享到:
评论

相关推荐

    ssm整合shiro的的demo,附带数据库

    标题中的"ssm整合shiro的的demo"是指一个实例项目,演示了如何将SSM框架与Shiro进行集成。这个项目对于初学者来说非常有帮助,因为它包含了从头到尾的完整流程,可以让学习者理解并实践这两个框架的整合过程。 描述...

    Spring 整合Shiro 并扩展使用EL表达式的实例详解

    Spring 整合 Shiro 并扩展使用 EL 表达式实例详解 本文将详细介绍 Spring 整合 Shiro 框架,并通过扩展使用 Spring 的 EL 表达式来实现权限控制。Shiro 是一个轻量级的权限控制框架,应用非常广泛。下面是 Spring ...

    跟我学shiro综合实例(springboot新版)

    2. **Spring Boot与JSP整合** - **视图解析器配置**:由于Spring Boot默认使用Thymeleaf等模板引擎,若要使用JSP,需额外配置视图解析器,如`InternalResourceViewResolver`,并指定JSP的存放路径。 - **JSP页面...

    apache_shiro入门实例

    本篇将带你逐步了解如何使用 Shiro 搭建一个简单的权限管理系统,并结合 Spring 进行整合。 首先,我们需要在 `web.xml` 文件中配置 Shiro 过滤器。这里我们添加了一个名为 `shiroFilter` 的过滤器,使用 `...

    maven+SpringMvc+Mybatis+shiro安全框架整合实例(-)

    本实例主要探讨的是"Maven+SpringMVC+MyBatis+Shiro"的整合,这是一个常见的Java Web开发组合,用于实现高效、安全的业务逻辑处理。让我们逐一解析这些框架及其在项目中的作用。 1. Maven: Maven是Apache软件基金...

    apache shiro整合struts2+spring+mybatis简单demo

    在前端,我们可以使用Shiro提供的JSP标签库来显示登录、注销等界面元素,并进行权限控制。例如,我们可以使用`&lt;shiro:hasPermission&gt;`标签来决定用户是否能看到或操作某些页面元素。 最后,测试是必不可少的。创建...

    传智播客2018年SpringBoot与Shiro整合

    在SpringBoot中整合Shiro,可以快速搭建权限管理系统,实现用户登录、权限控制、会话管理等功能。下面将详细解释这个整合过程以及相关知识点。 首先,理解SpringBoot的核心特性:自动配置、嵌入式Servlet容器、起步...

    我的shiro源码.zip

    5. **Shiro标签使用**:在JSP页面中,可以使用Shiro提供的标签库来控制用户的访问权限,如`&lt;shiro:hasRole&gt;`和`&lt;shiro:hasPermission&gt;`。 6. **安全控制器**:在Spring MVC的Controller中,你可以利用Shiro的注解...

    shiro-web.zip

    5. **Shiro标签库**:在视图层,可以使用Shiro提供的JSP标签进行权限控制,例如`&lt;shiro:hasRole&gt;`和`&lt;shiro:notHasRole&gt;`。 6. **事件监听**:通过实现Shiro的事件监听器,可以在用户登录、登出等特定事件时执行...

    SpringMVC+Shiro+MongoDB基础框架

    此外,SpringMVC支持多种视图技术,如JSP、FreeMarker、Thymeleaf等。 **Shiro** Apache Shiro是一个轻量级的安全框架,适用于Java平台。它提供身份验证(Authentication)、授权(Authorization)、会话管理...

    SSH 整合项目(包含详细步骤+源码)

    6. **整合Struts与Spring**:使用Spring的Struts插件,使Spring接管Struts的Action实例化。 7. **整合Hibernate与Spring**:通过SessionFactoryBean配置Hibernate,使Spring管理SessionFactory,并配置事务管理器。 ...

    shiro+SSM实现安全登录的项目

    这个项目不仅提供了一个学习Shiro和SSM整合的实例,同时也为开发者提供了一个安全登录的起点。通过实践和调试,你可以更好地理解这些技术的协同工作原理,进一步提升你的Java Web安全开发能力。

    SpringMVC+Shiro权限管理.

    4. **`Shiro-applicationContext-shiro.xml`**:Spring配置文件,用于整合Shiro与SpringMVC框架。 5. **`HomeController`**:这是SpringMVC控制器层的一部分,处理与首页相关的请求。 6. **三个JSP文件**:分别...

    ssm框架实现登录/shiro/demo

    在这个项目中,登录页面可能使用了JSP或HTML,通过Ajax异步提交登录请求,后端接收请求后,通过Shiro验证用户身份,如果验证成功,会设置用户session,并重定向到相应页面。 6. **权限管理**:Shiro的授权功能使得...

    Maven+SSM+Shiro-javaweb项目下载

    本项目“Maven+SSM+Shiro”是一个典型的JavaWeb项目实例,它将Maven作为项目管理工具,Spring、Spring MVC和MyBatis(简称SSM)作为核心框架,Shiro作为安全框架进行整合,为开发者提供了丰富的功能和灵活的架构。...

    shiro 安全框架 最好的中文配置文档

    为了更好地整合 Shiro 和 Spring,通常需要在 web.xml 文件中配置一个名为 `shiroSecurityFilter` 的过滤器,并指定对应的 Spring 配置文件位置。下面详细介绍具体的配置步骤: ##### Web.xml 配置示例 ```xml &lt;!-...

    spring mvc、mybatis、ehcache、apache shiro、bootstrap整合开发仓库管理系统源码

    这个系统的设计和实现涵盖了多个重要的Java Web开发技术,为学习和理解这些技术在实际应用中的结合提供了很好的实例。下面将分别对这些技术进行详细讲解。 1. **Spring MVC**:Spring MVC是Spring框架的一部分,它...

    spring mvc-redis-shiro

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

Global site tag (gtag.js) - Google Analytics