`

URL权限过滤(2)

阅读更多

/**
	 * @param url
	 *            当前请求的url
	 * @param loginUser
	 *            当前登录用户
	 * @throws IOException
	 * @throws ServletException
	 */
	private void verifyUrl(String url, LoginUser loginUser) throws IOException,
			ServletException {

		// 获取user拥有的所有资源串
		String sturl = loginUser.getUrl();
		System.out.println("可以访问的地址--->" + sturl);

		String url1 = null;
		String url2 = null;
		String url3 = null;
		url1 = url.substring(0, url.indexOf("/"));

		if (sturl.indexOf(url) >= 0) {
			System.out.println("有权访问!");
			chain.doFilter(request, response);
			return;
		}

		url1 = url.substring(0, url.indexOf("/") + 1);
		if (sturl.indexOf(url1 + "*") >= 0) {
			System.out.println("有权访问!");
			chain.doFilter(request, response);
			return;
		}

		url2 = url.substring(url1.length(), url.length());
		if (null != url2) {
			while (url2.contains("/")) {
				url2 = url.substring(url1.length(), url.length());
				url1 = url1 + url2.substring(0, url2.indexOf("/") + 1);
				url3 = url1 + "*";
				System.out.println("可以访问的地址url3--->" + url3);
				if (sturl.indexOf(url3) >= 0) {
					System.out.println("有权访问!");
					chain.doFilter(request, response);
					return;
				}
			}
		}
		System.out.println("无权限!");
		response.setContentType("text/html;charset=UTF-8");
		response.getWriter().println("<div>Sorry,您没有权限访问该资源!</div>");
	}

/**
	 * 是否需要判断权限,如客户端浏览、登录页面则不需要判断权限
	 */
	protected boolean noVerifyUrl(String url, HttpServletRequest request) {
		// login.action
		String exclude = "login.jsp,loginAction.action";
		if (exclude.indexOf(url) >= 0) {
			return true;
		}
		return false;
	}

}
分享到:
评论

相关推荐

    java url 权限过滤器

    获得structs的相对权限 url实现权限控制

    Struts权限过滤器

    Struts权限过滤器是Java Web开发中用于控制用户访问权限的关键组件,主要应用于基于Struts 2框架的应用程序。在Struts 2框架中,过滤器扮演着重要的角色,它们在HTTP请求到达Action之前进行拦截,对请求进行预处理,...

    基于Shiro 拦截URL,实现权限控制

    在实现URL权限控制时,Shiro通过定义一系列的拦截器(Interceptors)来过滤请求。这些拦截器可以基于URL路径或特定的HTTP方法(如GET、POST等)来决定是否允许用户访问。Shiro的Web模块提供了一个名为`...

    spring boot整合shiro实现url请求过滤

    本demo为Spring boot整合shiro,以mybatis plus做dao层交互数据,实现了读取数据库用户数据实现用户登录,权限认证,读取数据库中用户对应的url请求,实现请求的过滤。自定义了relam和过滤器来实现这些功能

    自己写的一个url过滤器

    开发者可以利用过滤器对URL进行拦截,比如进行权限验证、字符编码转换、日志记录等操作。在这个案例中,自定义的URL过滤器可能实现了特定的过滤逻辑,对不安全或不符合规则的URL进行拦截。 2. **监听器(Listener)...

    shiro动态URL权限控制

    Shiro的动态URL权限控制主要是通过`AuthorizationFilter`实现的,这个过滤器会检查当前用户是否有访问特定URL的权限。Shiro提供了`@RequiresPermissions`和`@RequiresRoles`等注解,可以用于控制器方法上,以声明...

    java web权限访问过滤器

    2. **配置过滤器**:在`web.xml`配置文件中,我们需要为过滤器添加配置,指定它将应用于哪些URL模式。例如,如果我们要限制对所有管理员页面的访问,我们可以这样设置: ```xml &lt;filter-name&gt;privilegeFilter ...

    Spring Security如何使用URL地址进行权限控制

    FilterSecurityInterceptor是一个过滤器,它可以拦截用户的请求,并根据用户的角色和权限来决定是否允许用户访问某个资源。FilterSecurityInterceptor继承于AbstractSecurityInterceptor,后者提供了许多有用的方法...

    jsp 权限过滤器的应用

    2. **权限管理基础**:在讲解权限过滤器之前,文章可能介绍了基本的权限管理概念,如角色、权限、认证和授权。这些概念是理解过滤器如何实现权限控制的基础。 3. **Filter配置**:文章会讨论如何在`web.xml`或使用...

    权限管理(过滤器粗粒度无侵入拦截方式)

    在这个例子中,我们的权限过滤器会在这个链中。 3. **身份验证**:过滤器首先检查请求的上下文(例如,通过session获取用户信息)以确定用户是否已登录。如果用户未登录,可以重定向到登录页面,或者返回错误信息。 ...

    利用过滤器设置权限利用过滤器设置权限

    ### 利用过滤器设置权限 在Web应用开发过程中,权限控制是非常重要的一个环节,它确保只有具有相应权限的用户才能访问特定资源。本篇文章将详细介绍如何通过Web应用中的过滤器来实现对用户访问权限的控制。 #### ...

    URL过滤配置.doc

    2. 设定URL过滤策略,决定哪些分类下的URL允许或禁止访问。 3. 在DPI(深度包检测)应用profile中应用这些策略,使过滤规则生效。 4. 定期升级和回滚URL过滤特征库,确保过滤规则的时效性和准确性。 1.3 URL过滤...

    权限类组件程序.zip_java 权限_权限_权限 过滤 java

    在Java中,这通常涉及到权限过滤器,比如Servlet中的Filter,用于在请求到达目标资源之前进行拦截和处理,例如,根据用户的角色和权限来决定是否允许访问某个URL。 压缩包内的文件名"www.pudn.com.txt"可能是一个...

    通过过滤器判断用户权限

    通过过滤器判断用户权限是实现应用安全访问控制的一种常见手段,尤其在Web应用程序中非常普遍。下面我们将基于提供的文件信息,深入探讨如何通过过滤器来判断用户的权限。 ### 一、UserPermissionFilter类详解 ###...

    URL过滤配置[参考].pdf

    《URL过滤配置详解》 URL过滤是网络安全领域中一项重要的技术,主要用于管理和限制网络访问行为,防止用户访问不健康、非法或潜在有害的网站。它通过对比预设的URL特征库,对网络流量中的URL进行识别和过滤,从而...

    通过过滤器管理用户权限(2)

    3. **实现用户权限过滤器** - 创建自定义Filter:你需要创建一个实现`javax.servlet.Filter`的类,并在`doFilter()`方法中编写权限检查逻辑。 - 注册Filter:将自定义Filter添加到Web应用的部署描述符(`web.xml`)...

    filter_权限过滤器

    "filter_权限过滤器"指的是利用过滤器来控制用户访问特定资源的权限,确保只有具有相应权限的用户才能访问敏感数据或执行特定操作。这是一种最佳实践,能够提供全面且安全的权限管理。 过滤器是Servlet规范的一部分...

    Jsp中使用过滤器实现用户权限限制功能

    接下来,我们将按照以下步骤来创建一个简单的用户权限过滤器: 1. **创建过滤器类**: 在`src`目录下创建一个新的Java类,例如`UserAuthorizationFilter`,实现`Filter`接口。你需要重写`doFilter()`方法,在这个...

    过滤器--控制不同权限用户访问不同文件夹代码.rar

    2. **权限获取**:一旦用户身份被确认,过滤器需要获取用户的权限信息。这些信息可能存储在数据库、JSON Web Tokens (JWT) 或者其他的会话存储中。 3. **资源访问检查**:根据用户权限,过滤器判断用户是否有权访问...

    SpringBoot 权限控制(菜单控制,页面元素控制,url控制)

    本篇文章将详细探讨如何在SpringBoot中实现基于RBAC(Role-Based Access Control,基于角色的访问控制)的权限控制,包括菜单控制、页面元素控制以及URL控制。 首先,让我们理解RBAC模型。RBAC是一种权限分配策略,...

Global site tag (gtag.js) - Google Analytics