struts一个简单的登录拦截

这是一段登录进行拦截的拦截器代码

我把action写成了一个配置文件,通过比较actionname来实现拦截功能

package com.shop.web.intercept;

import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.shop.web.action.BaseAction;

public class AuthenInterceptor extends AbstractInterceptor {

	private List<String> permissionUris = new ArrayList<String>();

	@Override
	public void init() {
		ResourceBundle res = ResourceBundle.getBundle("permissionUris");
		for(String key : res.keySet()){
			permissionUris.add(res.getString(key));
		}
		super.init();
	}

	@Override
	public String intercept(ActionInvocation invocation) throws Exception {
		String actionName = invocation.getProxy().getActionName();

		if(permissionUris.contains(actionName)){//如果actionName位于放行列表,则放行
			return invocation.invoke();
		}

		//不在放行列表则验证是否登录
		if(ActionContext.getContext().getSession().get(BaseAction.LOGIN_USER)==null){
			return Action.LOGIN;//返回登录结果
		}
		return invocation.invoke();//返回Action执行后的结果
	}

}
时间: 2024-07-31 08:38:23

struts一个简单的登录拦截的相关文章

node.js 实现一个简单的登录拦截器

拦截器在web开发中随处可见,比如站点的管理后台,不说所有人都能进入,所以就需要做一个拦截器并友好的跳转到提示页. 下面我们简单实现一种,判断用户是否登录成功,登录不成功的用户自动重定向到登录页面. 首先我们实现一个过滤器 exports.checkAuth=function(req, res, next) {     var token = req.signedCookies.token;     if (token && req.session.user && req.

使用struts做一个简单的登录跳转

[java web]第一节课 3.7号作业 做一个非常简单的登录跳转界面,要求: 需要一个登陆界面用于接受用户输入的信息 输入姓名"wei"如果正确则跳转到"index.jsp"页面显示"welcome" 如果输入的姓名不是"wei"则跳转到"login.jsp"页面重新输入. 1.创建一个web project命名为"Login1"版本用JavaEE 5 version:1.7 2.右

利用servlet和html写一个简单的登录

写一个简单的html登录页面,然后利用servlet来进行验证账号密码. html代码: <!DOCTYPE html> <html> <title>登陆页面</title> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action = &

Struts+spring+Hibernate 制作一个简单的登录验证

index.jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"

6. Swift 基于Xmpp和openfire实现一个简单的登录注册

1. 基本步骤:首先导入Xmpp框架,配置环境 ->由于我们使用的是OC的Xmpp框架,再进行Swift开发时需要进行桥接. 具体方法就是创建一个基于c的.h的头文件,然后将我们需要编译OC的语言的头文件包含这个.h文件中: ->然后导入如下库文件,在头头文件选择路径中 如上图, 设置header Search paths 设置头文件的搜索路径,导入libxml2库文件相对路径,***注意前面是 usr .以前第一次装的时候写成user找了半个多小时 -> 然后创建界面,随便弄两个框框和

go语言实现一个简单的登录注册web小程序

最近学习golang也有一段时间了,基础差不多学了个大概,因为本人是java程序员,所以对web更感兴趣.根据<go web编程>中的例子改编一个更简单的例子,供新手参考,废话不多说,上菜: 这个例子使用到了beego框架和beedb框架,如果是go新手beego和beedb得自己去google下载安装. 目录结构: index.go package controllers import ( "fmt" "github.com/astaxie/beego"

Flutter-实现一个简单的登录功能

登录逻辑判断 1.缓存token,使用的是shared_preferences 最新版本(https://pub.flutter-io.cn/packages/shared_preferences) shared_preferences: ^0.5.6 简单封装一层 class MTCacheTool { // 存储token static const String keyToken = 'xxxxxxxxxTK'; // 存储用户名 static const String keyUserNam

用Python selenium+webdriver的一个简单的登录自动化测试--豆丁网登录测试

#coding=utf-8 from selenium import webdriver #from selenium.webdriver.remote import switch_to #from selenium.webdriver.common import alert #import unittest  import time,os def users_zidian():  #用户名用例用一个字典实现参数化调用#     users={'zhengshuheng':'123456','[

用struts实现简单的登录

1.建项目时选java EE6.0 2.写登陆界面 <body> <center> <form id="form1" name="form1" action="action/login.action" method="post"> 用户名<input name="username" type="text"><br> 密码<