[Spring Security] Customize Form Control Names - Spring Boot (8)

반응형

이번 글에서는 Form Authentication을 customize 하는 방법에 대해 알아보도록 하겠습니다.

1. Default Parameter

이번글에서는 이전글에 적용했던 Form Authentication의 defualt parameter를 customize 해보도록 하겠습니다.

이전에 사용한 spring security의 form authentication default parameter는 다음과 같습니다.

• /login
• username
• password
• remember-me

이를 아래와 같이 변경해보도록 하겠습니다.

• /signin
• txtUsername
• txtPassword
• checkRememberMe

2. Customize Login Page

먼저 기존 login page의 parameter를 변경합니다.

login.html

<html xmlns:th="http://www.thymeleaf.org">
<head th:insert="fragments.html :: headerfiles">
    <title>Log in</title>
</head>
<body>
<div class="container">
    <div style="width:600px;margin-left: auto;margin-right: auto;margin-top:24px;padding: 24px;">
        <div class="card">
            <div class="card-header">
                <i class="fa fa-user"></i> Please Login
            </div>
            <div class="card-block" style="padding: 24px;">
                <form name="f" th:action="@{/signin}" method="post">
                    <fieldset>
                        <!-- Thymeleaf + Spring Security error display -->
                        <div th:if="${param.error}" class="alert alert-danger">
                            Invalid username and password.
                        </div>

                        <div th:if="${param.logout}" class="alert alert-success">
                            You have been logged out.
                        </div>

                        <!-- Login Controls -->
                        <div class="form-group">
                            <label for="txtUsername">Username</label>
                            <input type="text" class="form-control" id="txtUsername" name="txtUsername"
                                   placeholder="Username">
                        </div>

                        <div class="form-group">
                            <label for="txtPassword">Password</label>
                            <input type="password" class="form-control" id="txtPassword" name="txtPassword"
                                   placeholder="Password">
                        </div>

                        <div class="form-check">
                            <input type="checkbox" class="form-check-input" id="checkRememberMe" name="checkRememberMe">
                            <label class="form-check-label" for="checkRememberMe">Remember me?</label>
                        </div>

                        <!-- Login Button -->
                        <div class="form-actions" style="margin-top: 12px;">
                            <button type="submit" class="btn btn-success">Log in</button>
                        </div>
                    </fieldset>
                </form>
            </div>
        </div>
    </div>
</div>
</body>
</html>

3. Customize Login Configuration

다음으로 아래와 같이 SecurityConfiguration을 변경하면 됩니다.

참 쉽죠?? 😎. 이처럼 customize한 parameter를 사용하려면, SecurityConfiguartion에 사용할 paramter만 선언해주시면 됩니다.


참고 자료 : https://www.youtube.com/playlist?list=PLVApX3evDwJ1d0lKKHssPQvzv2Ao3e__Q


추천서적

 

스프링5 레시피:스프링 애플리케이션 개발에 유용한 161가지 문제 해결 기법

COUPANG

www.coupang.com

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


반응형

댓글

Designed by JB FACTORY