过滤器权限校验

package com.web.study;

import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.Filter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class PermissionFilter implements Filter {

	public PermissionFilter() {

	}

	private FilterConfig filterConfig;

	public void init(FilterConfig filterConfig) throws ServletException {

	}

	public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain) throws IOException,ServletException {

		HttpServletRequest request = (HttpServletRequest)req;
		HttpServletResponse response = (HttpServletResponse)res;

		String servletPath = request.getServletPath();
		HttpSession session = request.getSession();
		String flag = (String)session.getAttribute("flag");

		if (servletPath.equals("/Jsp/logon.jsp")||servletPath.equals("/Jsp/index.jsp")||servletPath.equals("/LoginServlet")) {
			filterChain.doFilter(req, res);
		}
		else {
			if(flag!=null&&flag.equals("login_success")){
				filterChain.doFilter(req, res);
			}
			else if (flag!=null && flag.equals("login_error")) {
				request.setAttribute("return_uri", servletPath);
				RequestDispatcher rd = request.getRequestDispatcher("/Jsp/login.jsp");
				rd.forward(request, response);
			}
			else {
				request.setAttribute("return_uri", servletPath);
			    RequestDispatcher rd = request.getRequestDispatcher("/Jsp/login.jsp");
			    rd.forward(request, response);
			}

		}

	}

	public void destroy() {

	}
}

  

时间: 2024-10-05 16:39:16

过滤器权限校验的相关文章

权限校验过滤器

-------------------siwuxie095 使用过滤器进行权限校验 一个简单的权限校验过滤器实例: 登录状态校验:如果没有成功登录就没有权限访问特定页面 当访问首页要进入 hello.jsp 页面时,首先判断是否处于登录状态: (1)如果是,直接点击进入 hello.jsp (2)如果否,则点击 hello.jsp 时进入 login.jsp,登录成功后自动跳转回 hello.jsp 工程结构目录如下: 后端代码: LoginServlet.java: package com.s

SpringCloud(8)----zuul权限校验、接口限流

项目代码GitHub地址:https://github.com/yudiandemingzi/spring-cloud-study 一.权限校验搭建 正常项目开发时,权限校验可以考虑JWT和springSecurity结合进行权限校验,这个后期会总结,这里做个基于ZuulFilter过滤器进行一个简单的权限校验过滤. 对于组件zuul中,其实带有权限认证的功能,那就是ZuulFilter过滤器.ZuulFilter是Zuul中核心组件,通过继承该抽象类,覆写几个关键方法达到自定义调度请求的作用

后台权限校验拦截器

拦截器类 /* * 后台权限校验的拦截器 * *对没有登陆的用户,不可以进行访问 */ public class PrivilegeInterceptor extends MethodFilterInterceptor { @Override //执行拦截的方法 protected String doIntercept(ActionInvocation actionInvocation) throws Exception { //判断session中是否保存了后台用户的信息 AdminUser

深入浅出Git权限校验【转】

在本地计算机与GitHub(或GitLab)进行通信时,传输主要基于两种协议,HTTPS和SSH,对应的仓库地址就是HTTPS URLs和SSH URLs. 首先需要强调的是,HTTPS URLs和SSH URLs对应的是两套完全独立的权限校验方式,主要的区别就是HTTPS URLs采用账号密码进行校验,SSH URLs采用SSH秘钥对进行校验.平时使用的时候我们可以根据实际情况,选择一种即可. HTTPS URLs GitHub官方推荐采用HTTPS URLs的方式,因为该种方式适用面更广(即

Apache shiro之权限校验流程

从张开涛blog学习后整理:http://jinnianshilongnian.iteye.com/blog/2018398 图片原图比较大,建议将图片在新的选项卡打开后100%大小浏览 在权限校验中RolePermissionResolver接口用于将角色所包含的权限全部解析出来(生成Permission实例)

前后端分离与权限校验

我在写web项目时,总是会为权限认证犯愁.在采用前后端分离后,后端只提供接口,项目的路由不再归后端管,而是由代理服务器(Nginx)控制.对于一般公开资源,URL的路由并不依赖于用户的状态,因此光靠代理服务器控制路由就够了.但是一旦涉及私密资源,事情就复杂起来了.对私密资源的访问需要进行权限校验,而这个校验一般由后端提供接口进行.但后端又不负责路由,即此时就做不到直接将不同状态的用户路由到不同资源.遇到这种状况时就需要 先调用后台接口后根据结果改变路由 . 显然,作为路由的发起者,不管是重定向还

类Shiro权限校验框架的设计和实现(2)--对复杂权限表达式的支持

前言: 我看了下shiro好像默认不支持复杂表达式的权限校验, 它需要开发者自己去做些功能扩展的工作. 针对这个问题, 同时也会为了弥补上一篇文章提到的支持复杂表示需求, 特地尝试写一下解决方法. 本文主要借助groovy脚本来实现复杂表达式的计算, 其思想是借鉴了Oval支持复杂表达式(groovy/javascript/ruby)的实现方式. 文章系列: 1. springmvc简单集成shiro  2. 类Shiro权限校验框架的设计和实现  3. 权限系统(RBAC)的数据模型设计 目标

Android 悬浮窗权限校验

原文:Android 悬浮窗权限校验 悬浮窗权限: <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 权限检验和请求: //检查是否已经授予权限,大于6.0的系统适用,小于6.0系统默认打开,无需理会 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M&&!Settings.canDrawOverlays(

python kafka权限校验client.id

kafka集群有权限校验,在连接时需要加入client.id.但pykafka不能配置该选项.搜索了一下,需要使用confluent-kafka 链接: https://blog.csdn.net/lanyang123456/article/details/80639625 #coding:utf-8 from confluent_kafka import Consumer, KafkaError mybroker = "127.0.0.1:9092" #host client_id