반응형
연습 문제 01
시큐리티란 무엇인가?
더보기
시큐리티
: 허가된 사용자만이 특정 웹 페이지에 접근할 수 있도록 제한하는 보안 기능
연습 문제 02
시큐리티의 두 가지 처리 기법에 대해 간단히 설명하시오.
더보기
1. 선언적 시큐리티
: web.xml 파일에 보안 구성을 작성하여 사용자 인증을 수행하는 방식
2. 프로그래밍적 시큐리티
: request 내장 객체의 메소드를 통해 사용자의 권한 부여를 처리하는 방식
연습 문제 03
FORM 기반 인증 처리 기법으로 로그인 페이지를 작성하는 방법을 설명하시오.
더보기
login-config>
<auth-method>FORM</auth-method>
</login-config>
+ form 태그에 action 속성값, 아이디와 비밀번호 input 태그의 name 속성을 각각 j_security_check, j_username, j_password로 설정
연습 문제 04
FORM 기반 인증 처리 기법을 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.
더보기

결과 화면1

결과 화면2

결과 화면3

결과 화면4
tomcat-users.xml (아래 코드 추가)
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="java" roles="tomcat"/>
<user username="both" password="java" roles="tomcat,role1"/>
<user username="role1" password="java" roles="role1"/>
<user username="admin" password="admin1234" roles="role1"/>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<!-- 시큐리티 역할(Role) 설정 -->
<security-role>
<description></description>
<role-name>role1</role-name> <!-- 사용시 톰캣에 존재해야함 -->
</security-role>
<!-- 2. 시큐리티 제약 사항 설정 -->
<security-constraint>
<!-- 웹 자원의 이름 설정(생략가능) -->
<display-name>Exercise Security</display-name>
<!-- 웹 자원에 대한 약속 목록 -->
<web-resource-collection>
<!-- 프로젝트명 -->
<web-resource-name>Exercise</web-resource-name>
<url-pattern>/ch10/success.jsp</url-pattern>
<!-- HTTP 요청방식 -->
<http-method>GET</http-method>
</web-resource-collection>
<auth-constraint>
<!-- 권한 부여 제약 사항에 대한 설명 기술 -->
<description></description>
<!-- 권한이 부여된 사용자 이름 설정 -->
<role-name>role1</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<!-- FORM 인증 처리 기법 설정 -->
<auth-method>FORM</auth-method>
<!-- 인증 처리를 위한 로그인 및 오류 페이지 설정 -->
<form-login-config>
<!-- 인증(로그인) 처리를 위한 로그인 페이지 설정 -->
<form-login-page>/ch10/login.jsp</form-login-page>
<!-- 인증(로그인) 실패시 오류페이지 설정-->
<form-error-page>/ch10/login_failed.jsp</form-error-page>
</form-login-config>
</login-config>
</web-app>
security.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p><a href="success.jsp">로그인</a></p>
</body>
</html>
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="j_security_check">
<p>사용자명 : <input type="text" id="inputUsername" name="j_username" /></p>
<p>비밀번호 : <input type="text" id="inputPassword" name="j_password" /></p>
<p><input type="submit" name="id" /></p>
</form>
</body>
</html>
login_failed.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p>인증을 실패했습니다.</p>
</body>
</html>
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p>사용자명<%=request.getRemoteUser()%>인증을 성공했습니다.</p>
</body>
</html>




연습 문제 05
다음 조건에 맞게 도서 웹 쇼핑몰을 위한 웹 애플리케이션을 만들고 실행 결과를 확인하시오.
반응형
'스프링' 카테고리의 다른 글
[스프링] 18장 쇼핑몰 시스템6 (1) | 2024.04.16 |
---|---|
[스프링] 17장 예외 처리 (0) | 2024.04.16 |
[스프링] 16장 시큐리티, 쇼핑몰 시스템5(시큐리티 작업) (0) | 2024.04.15 |
[스프링] 15장 쇼핑몰 시스템4 (0) | 2024.04.12 |
[스프링] 14장 정규 표현식 (0) | 2024.04.12 |