Spring IOC 기술을 활용하여 사용자 로그인 인증 메커니즘 구현
먼저 Spring의 자동 어셈블 모드를 사용하여 사용자 객체를 컨트롤러에 주입한 다음 사용자가 입력한 사용자 이름과 암호를 시스템에 한정된 합법적인 사용자의 사용자 이름과 암호와 일치시킵니다.
사용자 이름이 암호와 일치하면 로그인 성공 페이지로 이동합니다.사용자 이름이 암호와 일치하지 않으면 로그인에 실패한 페이지로 이동합니다.
1. 사용자 이름과 암호 속성을 정의하는 User 객체를 만듭니다. 코드는 다음과 같습니다.
package com.importnew;
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
2. 컨트롤러 Testutil을 생성하여 User 객체를 주입하고 로그인 검증합니다.코드는 다음과 같습니다.
package com.importnew;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class TestUtil extends AbstractController{
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
String username = arg0.getParameter("username");
String password = arg0.getParameter("password");
if(username.equals(user.getUsername()) && password.equals(user.getPassword())){
return new ModelAndView("yes");
}else{
return new ModelAndView("Error");
}
}
}
3. Spring의 프로필 응용 프로그램Context.xml에서 User 객체의 속성에 값을 부여하고 자동 어셈블을 사용하여 컨트롤러 Testutil에 User 객체를 주입합니다.코드는 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<bean id="user" class="com.importnew.User" >
<property name="username">
<value>admin</value>
</property>
<property name="password">
<value>123</value>
</property>
</bean>
<bean autowire="byName" id="testUtil" class="com.importnew.TestUtil" >
<property name="user">
<ref bean="user"/>
</property>
</bean>
</beans>
4. 웹에서.xml 파일에 응용 프로그램Context를 설정합니다.프로젝트가 시작되면 프로파일의 정보를 자동으로 불러옵니다.코드는 다음과 같습니다.
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
참고:Testutil에서 계승된 클래스 Abstract Controller는spring-web-mvc에 대한 JAR 패키지 지원을 받아야 합니다.
////end
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.