본문 바로가기
JSP/JSP기초

JSP(security) 선언적 시큐리티 처리 방법_FORM

by 미눅스[멘토] 2023. 7. 7.
728x90

왼쪽 패키지 보면

Servers에 tomcat-users.xml

tomcat-users 사용자를 등록한다.

role은 역할 or 권한

 

 

ctrl+shift+R 누르면

내가쓸 web.xml선택

 

서버설정 / 서버의 대한 권한이다.

 

 

 


<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Security</title>
</head>
<body>
	<!-- 
	wb.xml의 <auth-method>BASIC</auth-method>을 대신하는 사용자정의 로그인 화면
	j_security_check : 요청지가 이미 있음
	j_username, j_password는 정해져 있는대로 사용하는 것임
	 -->
	<form name="loginForm" action="j_security_check" method="post">
		<p>ID : <input type="text" name="j_username" /></p>
		<p>비밀번호 : <input type="password" name="j_password" /></p>
		<p><input type="submit" value="로그인" /></p>
	</form>
</body>
</html>

 


<?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">
  <display-name>JSPBook</display-name>
  <!-- 시큐리티 역할(role) 설정 -->
  <security-role>
  	<role-name>tomcat</role-name>
  </security-role>
  <security-role>
  	<role-name>role1</role-name>
  </security-role>
  <!-- 시큐리티의 제약 사항(constraint)을 설정 -->
  <!-- JSPBook이라는 웹 어플리케이션에서 해당 URL을 GET방식으로 요청하려면
  		role1이라는 권한이 있어야 함(both, role1 아이디)
   -->
  <security-constraint>
  	<web-resource-collection>
  		<web-resource-name>JSPBook</web-resource-name>
  		<url-pattern>/ch10/security01.jsp</url-pattern>
  		<http-method>GET</http-method>
  	</web-resource-collection>
  	<auth-constraint>
  		<description></description>
  		<role-name>role1</role-name>
  	</auth-constraint>
  </security-constraint>
  <!-- 인증(authentication)-로그인/로그아웃 처리를 위한 페이지를 설정 -->
  <login-config>
<!--   	<auth-method>BASIC</auth-method> -->
	<auth-method>FORM</auth-method>
	<form-login-config>
		<!-- 로그인 URL 설정 -->
		<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>

작성

 

url사이트에 들어가보면 이런 화면이 뜸 여기에 권한자랑 비번을 입력하면

 

 

 

 

결과

인증성공