728x90
security-context.xml에 작성
<!-- 자동 로그인
로그인하면 특정 시간 동안 로그인 할 필요가 없는 기능,
dataSource(root-context.xml)를 통해 지정한 데이터베이스의 약속된 테이블(PERSISTENT_LOGINS)을
이용하여 기존 로그인 정보를 기록함
token-validity-seconds : 쿠키의 유효시간(초). 604800초는 7일
-->
<security:remember-me data-source-ref="dataSource"
token-validity-seconds="604800" <!--7일동안 로그인 하겠다-->
/>
이때 <security:remember-me data-source-ref="여기가"
root-context.xml에 id와 일치해야한다
root-context.xml
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="username" value="jspexam" />
<property name="password" value="java" />
</bean>
security-context.xml 로그아웃일때
<!-- <security:access-denied-handler error-page="/security/accessError" /> -->
<!-- 로그아웃 처리. 로그아웃 후에 세션을 무효화 함-->
<security:logout logout-url="/logout" invalidate-session="true"
delete-cookies="remember-me,JSESSION_ID" />
</security:http>
<!--
SQL 테이블 생성(테이블 이름도 정해져있음 무조건 이거 써야함)
CREATE TABLE PERSISTENT_LOGINS(
USERNAME VARCHAR2(200),
SERIES VARCHAR2(200),
TOKEN VARCHAR2(200),
LAST_USED DATE,
CONSTRAINT PK_PL PRIMARY KEY(SERIES)
);
name값을 무조건 remember-me로 지정한다.(이것도 정해져있음 약속임)
<div class="col-8">
<div class="icheck-primary">
<input type="checkbox" id="remember" name="remember-me"> <label
for="remember"> Remember Me </label>
</div>
</div>
'Spring > Spring 기초' 카테고리의 다른 글
e7e샘의 초간단 웹소켓 (0) | 2023.08.18 |
---|---|
계정 권한검사 2번째방법? (0) | 2023.08.18 |
스프링 시큐리티 표현식 (0) | 2023.08.18 |
Security 폼 기반 인증 기능 사용(로그아웃 처리) (0) | 2023.08.17 |
Security 폼 기반 인증 기능 사용(로그인 처리) (0) | 2023.08.17 |