导航:首页 > 净水问答 > struts2过滤器登录

struts2过滤器登录

发布时间:2022-02-26 04:06:28

❶ Struts2 配置了登录过滤器后,登录界面不能加载css和js

判断一下过滤的url

Stringurl=((HttpServletRequest)request).getRequestURL().toString();

不要拦截js和css文件

❷ struts2过滤器

WEB.xml中配置struts2的代码片段
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
'/*'是拦截所有的url,你这里可以配置你的过滤规则的啊(例如/*.jsp、/*_aaa.jsp等),但是版一般不需要修改的,改权了以后,扩展起来会给你带来一些的不必要的麻烦的

❸ struts2 使用拦截器控制登录权限

必然的啊,因为你在进入登陆的Action前执行的拦截器,而这时还没有执行你的登陆方法,因此取得的username为空.

登陆拦截是拦截登陆方法以外的Action,登陆的Action千万别拦截,否则永远没办法登陆了

❹ 如何配置struts2的过滤器

你说的是拦截器吧
第一步:创建一个类实现Intercepter接口并实现其中方法
第二步:注册拦截器(在struts.xml)如:
<package name="cust"
namespace="/cust"
extends="struts-default">
<interceptors>
<!-- 注册拦截器 -->
<interceptor name="first"
class="com.interceptor.FirstInterceptor"/>
<interceptor name="second"
class="com.interceptor.SecondInterceptor"/>
<!-- 注册拦截器栈,将所有拦截器打包在一起 -->
<interceptor-stack name="mystack">
<interceptor-ref name="first"/>
<interceptor-ref name="second"/>
<!-- 引用自定义的拦截器时,会使struts2自带的拦截器失效
因此,要将默认的拦截器加入到自定义的拦截器栈中 -->
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<!--第三步: 引用拦截器 ,

<action name="toUpdateCustomer"
class="com.action.ToUpdateCustomerAction"
method="execute">
<!-- 引用拦截器 ,
<interceptor-ref name="first"/>
<interceptor-ref name="first"/>-->
<!-- 引用拦截器栈,会一次将所有的拦截器引用 -->
<interceptor-ref name="mystack"/>
<result name="success">
/WEB-INF/cust/update_customer.jsp
</result>
</action>
</package>
供参考

❺ Struts2入口过滤器配置

本人试验了一下配置成*.action index.jsp是可行的,不过一般情况下是配置成/*的 然后结合版struts.properties文件里面的struts.action.extension(定义扩权展名,例如.do,.action等等,多个扩展名中间用逗号隔开)值使用,楼主你最好检查下你的服务器启动日志 看看项目是否正常启动。

❻ 急求 struts2过滤器 实例就是..当用户访问任何一个action时..先判断.是否有登录.

首先,struts2进行权限验证是用拦截器做的
一个简单的登录拦截器示例如下:
package com.zdf.interceptor;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.zdf.entity.Admin;

@SuppressWarnings("serial")
public class LoginInterceptor extends AbstractInterceptor{

@Override
public String intercept(ActionInvocation invocation) throws Exception {
// TODO Auto-generated method stub
Admin admin = (Admin)invocation.getInvocationContext().getSession().get("ADMIN");
if(admin!=null){
return invocation.invoke();
}else{
return Action.LOGIN;
}
}

}
struts.xml中的配置如下:
<interceptors>
<interceptor name="adminInterceptor" class="com.zdf.interceptor.AdminSessionInceptor"/>
<interceptor-stack name="myStack">
<interceptor-ref name="adminInterceptor"/>
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
在action中进行引用
<action name="Admin_*" class="adminAction" method="{1}">
<result name="success">/Admin_List.jsp</result>
<interceptor-ref name="myStack"/>
</action>
拦截器具体如何使用,请查找详细资料!祝你好运!

❼ ssh使用tiles框架,怎么使用struts2自定义的过滤器,例如过滤未登陆的用户希望有个具体的例子!!

struts2可以通过配置interceptor来实现过滤未登录用户,在struts.xml文件中进行配置即可。
<package name="efe-default" extends="struts-default">
<interceptors>
<!-- 校验用户是否登录用拦截器 -->
<interceptor name="checkLoginInterceptort" class="com.cn.inteceptor.CheckLoginInterceptor"/>
<!-- 定义拦截器栈 -->
<interceptor-stack name="MyDefaultStack">
<interceptor-ref name="checkLoginInterceptort">
<param name="actionNames">testLogin</param>
<param name="loginPath">outSys</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="MyDefaultStack"></default-interceptor-ref>
</package>

public class CheckLoginInterceptor extends AbstractInterceptor {
private static final long serialVersionUID = 1652269041938963442L;
@SuppressWarnings("unchecked")
public String intercept(ActionInvocation ai) throws Exception {
Object action = ai.getAction();
//获取当前操作系统文件路径分隔符
String separator = System.getProperty("file.separator");

HttpServletRequest request = ServletActionContext.getRequest();
String requestUrl = request.getRequestURI();
int tempInt = CommonTools.getSitesInString(requestUrl, "/").get(1);
requestUrl = requestUrl.substring(tempInt);

Map session = ai.getInvocationContext().getSession();
String login = (String) session.get("USERID");

if(!CommonTools.isNullString(login) || !CommonTools.isNullString(examLogin) || singup != null
|| student != null || agency != null){

return ai.invoke();
}else{
//获得服务器绝对路径
String rootUrl = ServletActionContext.getServletContext().getRealPath("/");
//读取src\myXML文件夹下的Permissions.xml文件
DataDictionaryXmlParseUtil myPermissions = DataDictionaryXmlParseUtil.getInstance(rootUrl+"WEB-INF"+separator+"classes"+separator+"myXML"+separator+CommonConstants.PERMISSION_XML);
//得到允许不通过拦截器的url地址列表
List<String> permissionList = myPermissions.getDataMap().get(CommonConstants.REQUEST_RUL_KEY);

//比较是否有列表中的数据
for (String permissUrl:permissionList){
if (requestUrl!=null && requestUrl.equalsIgnoreCase(permissUrl)){
return ai.invoke();
}
}
return "no.access";
}
}

❽ Struts2如何通过过滤器防止直接访问jsp页面

可以在web.xml配置过滤条件,拦截一切jsp文件,如果没有登陆的话,就跳转到登陆界面

❾ struts2配置自定义过滤器,检查用户是否登录,没登录就不许进入某些页面

struts2写拦截器吧?过滤器貌似servlet里边用.
public class LoginInterceptor extends AbstractInterceptor{

private static final long serialVersionUID = 1L;

@Override
public String intercept(ActionInvocation invocation) throws Exception {
Map<String, Object> session=ActionContext.getContext().getSession();
User user=(User) session.get("user");
//如果确认订单时没有登录返回登录页专否则继续执属行
if (user==null) {
return "relogin";
}else{
invocation.invoke();
return "";
}
}

}

❿ Struts2 拦截器判断用户是否登陆

我项目中的拦截器配置,其实楼上的filter方式也能实现功能要求,不过lz想研究下拦截器的话,可以参考我下面的配置。

有不明白的可以给我信息,我可以把整个struts.xml 发你参考。

<!--自定义拦截器配置 -->
<interceptors>
<interceptor name="Timeout" class="com.myproject.util.TimeOutInterceptor"/>
</interceptors>

action定义。。。。。。。。。。。
<action name="cf*" method="{1}" class="com.myproject.action.user.ConfigAction">
<!-- 引用自定义的拦截器 -->
<interceptor-ref name="Timeout">
<param name="excludeMethods">
UpdateInfo,UpdCss <!--注意参数配置 action中的仅这两个方法会被拦截 估计lz需要的就是这里的参数配置,可以指定Action中的方法进行拦截-->
</param>
</interceptor-ref>
<interceptor-ref name="basicStack"/> <!-- struts 内置的默认拦截器 -->
<result name="config">/user/config.jsp</result>
</result>

//拦截器的实现。。。。。。。
package com.myproject.util;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
import java.util.Map;

/**
* 通用拦截器,判断用户超时
* @author maodrc
*/
public class TimeOutInterceptor extends MethodFilterInterceptor {

@Override
protected String doIntercept(ActionInvocation ai) throws Exception {
Map sessionMap = ai.getInvocationContext().getSession();

String username = (String) sessionMap.get("username");
if (com.myproject.util.Util.isNull(username)) { //判断session
return "timeout"; // 这里可以配置一个 global 的result 即可。
} else {
return ai.invoke();
}
}

阅读全文

与struts2过滤器登录相关的资料

热点内容
2020一体化废水处理设备大全 浏览:569
甲醇蒸馏采取不合格 浏览:396
柴油车瑞迈换柴油滤芯怎么排空气 浏览:738
废水管灌水高度 浏览:688
污水粘度一般多少 浏览:139
污水处理进度表 浏览:225
利百特污水提升泵多少钱 浏览:998
电厂水化水中加除垢剂能喝吗 浏览:527
汽油滤芯盖用的什么胶 浏览:446
杯子咖啡除垢 浏览:92
如何治理矿山酸性废水 浏览:775
纯净水加什么调料最好 浏览:719
临工953新款装载机空调滤芯怎么拆 浏览:603
净水机r75是什么意思 浏览:294
三角袋真空盘式过滤布专业厂家 浏览:29
什么牌子的净水器是老牌子的 浏览:256
污水处理大学读什么专业 浏览:246
碱厂废水处理设备 浏览:170
饮水机水嘴是什么材质的 浏览:709
环氧树脂去除液山东 浏览:718