struts 2 사용자 정의 차단기 2-아 날로 그 session 시간 초과 처리
19839 단어 struts2
1、 http://localhost:8083/struts2/user.jsp 사용자 로그 인
2、 http://localhost:8083/struts2/login/loginHelloWorld.do 로그 인 에 성공 하면 성공 페이지 로 이동 합 니 다.그렇지 않 으 면 session 실효 알림 페이지 로 이동 합 니 다.
session 실효 시간 설정,웹.xml 수정
<!--
session , 1
-->
<
session
-
config
>
<
session
-
timeout
>
1
</
session
-
timeout
>
</
session
-
config
>
로그 인 페이지
<%
@ page language
=
"
java
"
import
=
"
java.util.*
"
pageEncoding
=
"
UTF-8
"
%>
<%
request.getSession().setAttribute(
"
user
"
,
"
"
);
%>
액 션 클래스
package
com.ljq.action;
public
class
HelloWorldAction {
public
String login() {
return
"
success
"
;
}
}
세 션 차단기
package
com.ljq.interceptor;
import
com.opensymphony.xwork2.ActionContext;
import
com.opensymphony.xwork2.ActionInvocation;
import
com.opensymphony.xwork2.interceptor.AbstractInterceptor;
/**
* session ,30s
*
*
@author
jiqinlin
*
*/
@SuppressWarnings(
"
serial
"
)
public
class
SessionIterceptor
extends
AbstractInterceptor{
@Override
public
String intercept(ActionInvocation invocation)
throws
Exception {
ActionContext ctx
=
invocation.getInvocationContext();
String user
=
(String)ctx.getSession().get(
"
user
"
);
if
(user
!=
null
&&
user.equals(
"
"
)){
return
invocation.invoke();
}
//
,
return
"
index
"
;
}
}
struts.xml 프로필
<?
xml version
=
"
1.0
"
encoding
=
"
UTF-8
"
?>
<!
DOCTYPE struts PUBLIC
"
-//Apache Software Foundation//DTD Struts Configuration 2.0//EN
"
"
http://struts.apache.org/dtds/struts-2.0.dtd
"
>
<
struts
>
<
constant name
=
"
struts.i18n.encoding
"
value
=
"
UTF-8
"
/>
<
constant name
=
"
struts.enable.DynamicMethodInvocation
"
value
=
"
false
"
/>
<
constant name
=
"
struts.action.extension
"
value
=
"
do
"
/>
<
package
name
=
"
login
"
namespace
=
"
/login
"
extends
=
"
struts-default
"
>
<
interceptors
>
<!--
-->
<
interceptor name
=
"
permission
"
class
=
"
com.ljq.interceptor.SessionIterceptor
"
/>
<!--
-->
<
interceptor
-
stack name
=
"
permissionStack
"
>
<!--
,
-->
<
interceptor
-
ref name
=
"
permission
"
/>
<
interceptor
-
ref name
=
"
defaultStack
"
/>
</
interceptor
-
stack
>
</
interceptors
>
<!--
-->
<
default
-
interceptor
-
ref name
=
"
permissionStack
"
/>
<!--
-->
<
global
-
results
>
<
result name
=
"
success
"
>/
WEB
-
INF
/
page
/
message.jsp
</
result
>
</
global
-
results
>
<
action name
=
"
*HelloWorld
"
class
=
"
com.ljq.action.HelloWorldAction
"
method
=
"
{1}
"
>
<!--
-->
<
result name
=
"
index
"
>/
index.jsp
</
result
>
</
action
>
</
package
>
</
struts
>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
apache struts2 취약점 검증이번에는 보안 캠프의 과제였던 apache struts2의 취약성에 대해 실제로 손을 움직여 실행해 보고 싶습니다. 환경 VirtualBox에서 브리지 어댑터 사용 호스트:macOS 10.12 게스트:ubuntu 1...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.