- 浏览: 740386 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (194)
- Webservice (6)
- ExtJs (2)
- Work Summary (4)
- CoreJava (51)
- Spring (10)
- EJB (5)
- struts1.x (3)
- C/C++ (5)
- DatabaseManager (19)
- Hibernate (5)
- Crytology (1)
- Web Server (5)
- Software Manager (5)
- WebUi (39)
- Web page (2)
- android (5)
- struts2 (12)
- Java 导出 Excel (1)
- Spring 与struts2 和Hibernate 4.0注解解决方安 (1)
- Dwr (1)
- maven3 (4)
- Windows (3)
- 表格头部信息不动使用Jquery 外部框架 (1)
- 软件行业动态 (1)
- mybatis (1)
- C# (3)
- MySQL (4)
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
LODOP插件开发 -
an52036:
u010980147 写道您的代码确实能生成条形码,但是打印出 ...
Java 条形码生成(一维条形码) -
di1984HIT:
学习了,很好~~
Ant 打包war 生成文件内容build.xml -
lhb319lhb:
如果 ajax(jquery)更新了 iframe 的 src ...
jquery 修改iframe src -
calosteward:
感谢楼主,除了一维条码,有没有相关二维码的资源呢?______ ...
Java 条形码生成(一维条形码)
在介绍Spring Security 3.0 之前让我们来复习一下Filter 的用法...
Filter 是什么这里就不做具体讲解了...
从功能上就是过滤的作用 因为在web 应用中对应的请求和一些操作都是一些请求 那么我们怎么来使用这一功能呢!
1.我们来做一个分析
1) 我们的目标是什么? 在web.xml 中配置 权限参数,有配置的让访问没有的反回到登录页面
2) 技术分析 用到Filter 类 和web.xml 初始参数的使用
3) 技术复习 FilterConfig.getInitParameter("paramName")
MyFilter implements Filter
{}
2.技术实现
1) web.xml 文件添加如下权限内容
<!-- addition LoginFilter --> <filter> <filter-name>loginFilter</filter-name> <filter-class>com.admin.rolemanager.LoginFilter</filter-class> <!-- addition initParameter --> <init-param> <param-name>allowParam</param-name> <param-value>/login.jsp,/js/us/*,/index.jsp</param-value> </init-param> <init-param> <param-name>loginPage</param-name> <param-value>/login.jsp</param-value> </init-param> <init-param> <param-name>serverIsMax</param-name> <param-value>/serverIsMax.jsp</param-value> </init-param> </filter> <!-- configuration LoginFilterMapping --> <filter-mapping> <filter-name>loginFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <session-config> <session-timeout> 30 </session-timeout> </session-config>
2. 添加java 代码
package com.admin.rolemanager; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * * @author liuqing 2010-10-9 */ public class LoginFilter implements Filter { private String allowParam; private String loginPage; private String serverIsMax; public void init(FilterConfig filterConfig) throws ServletException { allowParam = filterConfig.getInitParameter("allowParam"); serverIsMax = filterConfig.getInitParameter("serverIsMax"); loginPage = filterConfig.getInitParameter("loginPage"); } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse resp = (HttpServletResponse) response; //如果请求的是loginPage就直接反回 if (req.getRequestURI().equals( req.getContextPath() + loginPage)) { chain.doFilter(request, response); return; } //根据web.xml 中添加的内容进行split String regStr[] = allowParam.split(","); int j = 0; for (int i = 0; i < regStr.length; i++) { System.out.println("log for"); /** * 注意:因为 getRequestURI() 获得的值是 /ProjectName/index.jsp * 因为web.xml 中的初始参数 没有ProjectName * 所以用到了substring String 进行处理 * 用到了startsWith进行匹配 */ if ( (regStr[i] + "/").startsWith(req.getRequestURI() .substring(req.getContextPath().length()) ) ) { System.out.println("log for ==== end"); chain.doFilter(request, response); return; } } if (!req.getRequestURI().equals( req.getContextPath() + loginPage)) { resp.sendRedirect(req.getContextPath() + loginPage); chain.doFilter(request, resp); return; } } public void destroy() { } }
你可以在web.xml 中配置对应的参数
各位兄弟姐妹。。。你们也可以根据这个例子修改成为基于数据库的权限控制内容存到RDMB中
发表评论
-
ubuntu 安装JDK失败
2020-09-01 20:40 0文件/etc/apt/sources.list是一个普通可 ... -
ubuntu完美卸载JDK
2020-09-01 12:31 763要删除 OpenJDK (如果已安装的话)。首先,检查是安装 ... -
freemark 基本语法
2018-03-22 23:19 894reemarker的基本语法及入门基础 一、freem ... -
linux 新增硬盘分区并挂载
2016-06-02 12:45 1702运行fdisk -l 查看计算机对应的硬盘信息 Disk ... -
JasperReports打印图片
2016-05-21 22:20 2968long start = System.currentTim ... -
CAS 客户端与一般Web项目集成
2015-07-04 16:20 16205这一段时间有同事在问CAS -Client的问题这里就基本问 ... -
CAS-项目集成问题整理
2015-07-04 15:24 1415javax.net.ssl.SSLHandshakeExc ... -
CAS 与Tomcat 集成
2015-06-29 15:16 3759第一节:生成证书 第一步:生成keystore注意【cn= ... -
logback 日志配置生成当天志并分大小
2015-03-26 17:00 1654<?xml version="1.0&quo ... -
Mysql锁表问题
2015-03-26 09:57 9171)查询锁表问题 show open tables ... -
excel 导出文件中文问题
2015-03-24 23:39 1758package com.tzdr.common.utils; ... -
HttpURLConnection Post
2015-02-04 17:08 952/** * Http访问 * @param ht ... -
java获取classpath路径
2015-02-01 11:03 7831ClassLoader 提供了两个方法用于从装载的类路径中取 ... -
Con 表达式
2014-12-28 13:00 2927cron表达式详解 Cron表 ... -
Spring3 +JPA
2014-12-25 19:23 12581)META-INF/persistence.xml T ... -
Hessian调用方法
2014-09-26 12:45 6155package com.huashun.api. ... -
Freemark的使用
2014-06-09 15:27 998freemark 解释 package com.pa ... -
J2EE安装问题
2014-03-20 16:39 985安装J2EE的SDK报错:could ... -
Applet 有包配置及开发HeloWorldl
2013-06-13 08:48 12101.开发代码 package com.newt ... -
Jetty嵌入式服务器端开发
2013-06-07 08:09 10901.服务器代码 package com.newto ...
相关推荐
在这个场景中,"Filter进行权限控制"指的是使用`Filter`来实现用户访问权限的管理,确保只有登录后的用户才能访问特定的资源。下面我们将深入探讨`Filter`的工作原理以及如何实现登录控制。 `Filter`是Java Servlet...
本文将详细探讨如何通过`Filter`实现权限控制,以及与RBAC(Role-Based Access Control,基于角色的访问控制)的关系。首先,让我们理解`Filter`的概念。 `Filter`是Java Servlet API中的一个重要组件,它允许我们...
下面我们将详细讨论Filter的工作原理以及`UserRoleFilter`如何实现页面访问权限控制: 1. **Filter生命周期**: - **初始化**:当Filter被加载时,会调用`init(FilterConfig filterConfig)`方法。在这个方法中,`...
4. **过滤器与拦截器**:为了实现权限控制,插件可能利用了Servlet Filter或者Spring MVC的Interceptor机制,对请求进行预处理,判断用户是否有权限执行当前操作。 5. **动态权限分配**:在某些情况下,权限可能...
除了手动配置,还可以使用代码生成工具,如MyBatis的Generator,自动生成CRUD操作及对应的权限控制代码。这种方式可以节省大量手动编写代码的时间,但可能需要对生成的代码进行调整以适应RBAC需求。 在实际开发中,...
解压后,你可以查看源码,学习如何实现一个具体的JSP权限管理系统,包括Filter的使用、用户验证和权限控制等。 总的来说,JSP权限管理系统filter是一种有效的安全措施,它通过拦截和处理请求,确保了Web应用的安全...
通过上述讲解,你应该对如何在Java Web中使用Filter实现访问权限控制有了基本的理解。在深入研究这个示例的博客文章(https://blog.csdn.net/yuzhiqiang_1993/article/details/81288912)后,你可以了解到更多具体...
- 使用MockMVC或者实际运行应用程序进行测试,确保权限控制按照预期工作。 综上所述,通过Spring Boot和Spring Security的结合,我们可以构建一个具备动态权限控制的系统,使菜单权限的管理更加灵活,适应业务的...
本教程将深入探讨这两种不同的权限控制实现方式:一种不使用Shiro,另一种则是结合Shiro进行权限管理。 1. **不使用Shiro的权限控制**: 在不依赖Shiro的情况下,Java后台权限控制通常需要自定义实现。这通常涉及到...
本教程将深入探讨如何在Spring环境中集成Shiro,并利用其动态URL权限控制功能来保护Web应用的安全。 在Spring中整合Shiro,首先需要在项目中引入Shiro的依赖库。这通常通过Maven或Gradle的配置来完成,确保项目可以...
过滤器(Filter)技术常被用来实现多层权限控制,确保只有合法的用户才能访问特定的资源。本文将深入探讨如何利用过滤器实现多层权限控制,并结合给定的标签“源码”和“工具”,来提供一个具体的实践示例。 首先,...
Spring Security是Java Web开发中广泛使用的安全库,它提供了强大的权限控制功能。通过配置或注解,可以轻松地实现过滤器链,进行身份验证和授权。 6. **Filter的配置**: 在`web.xml`中,我们需要定义过滤器并...
此外,我们还可以根据需要进一步扩展过滤器,实现更复杂的权限控制。例如,我们可以添加角色检查,只允许具有特定角色的用户访问某些资源。这可以通过在会话中存储用户的角色信息,并在过滤器中进行比较来完成: ``...
本篇将详细探讨`filter`如何用于过滤非登录用户的权限控制,以及相关的源码实例。 一、Filter基本概念 在Java Servlet规范中,Filter是一个接口,它允许开发者在请求到达Servlet之前对其进行拦截和处理,也可以在...
总的来说,“springboot_shiro_thymeleaf权限控制”项目提供了一个实用的示例,展示了如何在Spring Boot应用中集成Shiro进行权限管理,并使用Thymeleaf创建动态视图。这为开发者提供了一个良好的起点,便于理解和...
本话题将详细探讨如何利用Filter来限制用户浏览特定的页面,以实现用户权限控制。 一、Filter概述 Filter是Servlet规范的一部分,它允许开发者在请求到达目标资源(如Servlet或JSP)之前和之后对请求和响应进行拦截...
Apache Shiro 和 Freemarker 的整合主要集中在权限控制方面,这对于构建安全、易维护的Web应用至关重要。Shiro 是一个强大的Java安全框架,提供身份验证、授权、加密和会话管理功能,而Freemarker则是一种常用的模板...
在这个场景中,我们将探讨如何使用`Filter`来实现权限访问控制,以及确保同一账号只能在一台设备上登录。 **一、Filter过滤器基础** 1. **定义与工作原理**:`Filter`是Servlet规范的一部分,它在请求到达目标...
- 控制流更灵活:Filter可以在请求进入Struts2之前处理特定逻辑,如权限验证。 - 重用性:Filter可以应用于多个Action,提供通用的服务。 总的来说,Struts2中通过Filter实现的MVC模式让开发者能更好地控制请求的...
这个“Spring Security 权限控制中文API”很可能是对Spring Security框架的中文文档或指南,帮助开发者理解和使用权限控制功能。 Spring Security的核心在于保护资源、进行身份验证(Authentication)和授权...