struts2 제3회: 차단기
3664 단어 struts2
==============다음은 LoginIntercepter.java 코드===============
package com;
import java.util.Map;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class LoginIntercepter extends AbstractInterceptor {
/**
* : ,action 。
* xml defaultStack
*
*/
public String intercept(ActionInvocation arg0) throws Exception {
System.out.println(" :LoginIntercepter");
String requestUrl=ServletActionContext.getRequest().getRequestURI();
System.out.println("url:"+requestUrl);
Map session = arg0.getInvocationContext().getSession();
String loginId = (String) session.get("loginId");
if (!(requestUrl.contains("!doLogin")||loginId!=null)) {
// ,
return "login";
}
return arg0.invoke();
}
}
==============다음은 LoginIntercepter.java 코드===============
<package name="abc" extends="struts-default">
<!-- demo -->
<interceptors>
<interceptor name="loginCheck" class="com.LoginIntercepter"></interceptor>
</interceptors>
<global-results>
<result name="success">/success.jsp</result>
</global-results>
<!-- -->
<action name="tagTest" class="com.StrutsTagTestAction">
<result name="login">/login.jsp</result>
<interceptor-ref name="loginCheck" /><!-- -->
<interceptor-ref name="defaultStack" /><!-- , , action -->
</action>
</package>
</struts>
============login.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">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body >
<form action="tagTest!doLogin.action" method="post">
<!-- , -->
userName:<input type="text" name="userName"><br/>
passWord:<input type="password" name="passWord" /><br/>
<input type="submit"e value="login">
<form>
</body>
</html>
===================action에서 얻은 코드===============================
public String doLogin() {
HttpServletRequest requst=ServletActionContext.getRequest();
requst.getSession().setAttribute("loginId","abing");
String content=requst.getParameter("content");
System.out.println("userName:" + userName + "\tpassWord:" + passWord);
return SUCCESS;
}
이렇게 하면 간단한 로그인 검증 차단기를 실현하였다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.