[로그인처리] Spring security 3

2021. 10. 5. 16:01

https://nxxrxx.tistory.com/12

 

[로그인처리] Spring security 2

* https://nxxrxx.tistory.com/11 1. 프로젝트 생성 2. 한글 처리 3. 보안 관련 라이브러리 추가 4. 스프링 설정 파일 분리 5. 보안 관련 설정 파일 만들기 pom.xml 4개의 라이브러리 설정 - 버전주의 스프링" dat.

nxxrxx.tistory.com

 

* member 권한을 줘보자

 

security-context.xml

스프링5 부터 PasswordEncoder를 사용하도록 강제하고 있다. 만약 패스워드 인코딩 없이 사용하고 싶다면 {noop}을 추가하면 된다. → 암호화 안하겠다.

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans
  xmlns="http://www.springframework.org/schema/security"
  xmlns:beans="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd
      http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

  <http>
  	<intercept-url pattern="/security/all" access="permitAll" />
  	<intercept-url pattern="/security/member" access="hasRole('ROLE_MEMBER')" />
    <form-login />
  </http>

  <!-- provider -->
  <authentication-manager> <!-- 내부에 생기는 객체 -->
	<authentication-provider>
		<user-service>
			<user name="member" password="{noop}member" authorities="ROLE_MEMBER" />
		</user-service>
	</authentication-provider>
  </authentication-manager>


</beans:beans>

 

<!-- provider -->
<authentication-manager> <!-- 내부에 생기는 객체 -->
 <authentication-provider>
  <user-service>
   <user name="member" password="{noop}member" authorities="ROLE_MEMBER" />
  </user-service>
 </authentication-provider>
</authentication-manager>

추가하기
  • member도 접근하게 하기
  • 여기서 {noop}을 안주면 에러가 난다. 그래야 패스워드를 멤버로 집어넣을 수가 있다.

▶ 만약 암호화 없이 사용하고 싶다면?

참고 : https://spring.io/blog/2017/11/01/spring-security-5-0-0-rc1-released#password-encoding

< security-context.xml >

<beans:bean id="bcryptPasswordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder" />
</beans:beans>

추가하기

* 자세한건 다음에 (참고 사이트 확인)

 

 

member.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>    
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="sec" %>    
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>
	/member page
</h1>

</body>
</html>

결과
  • http://localhost:8282/ex/security/member 을 치면 http://localhost:8282/ex/login으로 넘어간다.

  • User : member / Password : member 치고 로그인 후
    http://localhost:8282/ex/security/member 로 다시 들어가면 권한이 생겨서 security/member 에 들어갈 수 있다.

  • 로그인 할 때 User, Password 바꾸려면 user name="member" password="{noop}member" 이부분 변경하면 된다.

 

 

 

 

* 참고

https://melonpeach.tistory.com/49

 

23. 스프링 회원가입 만들기 / 암호화 기능 추가

23. 스프링 회원가입 만들기 / 암호화 기능 추가 안녕하세요 MelonPeach입니다. 오늘은 암호화 기능에대해 포스팅하겠습니다. 사용자의 개인정보를 특수문자, 영어 숫자등으로 암호화를 하여 데이

melonpeach.tistory.com

 

BELATED ARTICLES

more