Search
Duplicate

์ž๋™ ๋กœ๊ทธ์ธ

์ž๋™ ๋กœ๊ทธ์ธ

1.
์ตœ์ดˆ ๋กœ๊ทธ์ธ ์„ฑ๊ณต & ์ž๋™ ๋กœ๊ทธ์ธ ์ฒดํฌ
a.
์ธ์ฆ ํ† ํฐ ์ƒ์„ฑ
b.
์ธ์ฆ ํ† ํฐ ์ €์žฅ
i.
persistence_logins ํ…Œ์ด๋ธ”
1.
์•„์ด๋””
2.
์ธ์ฆ ํ† ํฐ
3.
๋งŒ๋ฃŒ ์‹œ๊ฐ„
c.
์ธ์ฆ ํ† ํฐ ์ฟ ํ‚ค ์ƒ์„ฑ
d.
์‘๋‹ต์— ์ฟ ํ‚ค ๋‹ด๊ธฐ
2.
๋‹ค์Œ ์‚ฌ์ดํŠธ ์ ‘์†
a.
์ธ์ฆ ํ•„ํ„ฐ
b.
์ธ์ฆ ํ† ํฐ ์ฟ ํ‚ค ํ™•์ธ
c.
์„ธ์…˜์— ์‚ฌ์šฉ์ž ์ •๋ณด ๋“ฑ๋ก (๋กœ๊ทธ์ธ)
ํ† ํฐ?
: ์งง์€ ๋ฌธ์ž์—ด (์ฃผ๋กœ, ์•”ํ˜ธํ™”๋œ ๋ฌธ์ž์—ด์ด๋‚˜ ๊ณ ์œ ํ•œ ์•„์ด๋””๋ฅผ ๊ฐ€์ง„ ๋ฌธ์ž์—ด์„ ์ €์žฅ)

์ž‘์—…์ˆœ์„œ

1.
persistence_logins ํ…Œ์ด๋ธ” ์ƒ์„ฑ
2.
PersistenceLogins.java ์ƒ์„ฑ
3.
์ธ์ฆ ํ•„ํ„ฐ ์ƒ์„ฑ
a.
LoginFilter.java
i.
์ž๋™ ๋กœ๊ทธ์ธ ์ฟ ํ‚ค ํ™•์ธ
ii.
์ธ์ฆ ํ† ํฐ ์ฟ ํ‚ค ํ™•์ธ
iii.
์ž๋™ ๋กœ๊ทธ์ธ ์ฒดํฌ & ์ธ์ฆ ํ† ํฐ ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ
4.
login.jsp
a.
์ž๋™ ๋กœ๊ทธ์ธ ์ฒดํฌ ๋ฐ•์Šค ์ถ”๊ฐ€
i.
remember-me

persistence_logins ํ…Œ์ด๋ธ” ์ƒ์„ฑ

DROP TABLE IF EXISTS `persistence_logins`; CREATE TABLE `persistence_logins` ( `no` INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '๋ฒˆํ˜ธ', `id` VARCHAR(255) NOT NULL COMMENT 'ID (UUID)', `username` VARCHAR(100) NOT NULL COMMENT 'ํšŒ์› ์•„์ด๋””', `token` VARCHAR(255) NOT NULL COMMENT '์ธ์ฆ ํ† ํฐ', `expiry_date` TIMESTAMP NOT NULL COMMENT '๋งŒ๋ฃŒ์‹œ๊ฐ„', `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '๋“ฑ๋ก์ผ์ž', `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '์ˆ˜์ •์ผ์ž' );
SQL
๋ณต์‚ฌ

PersistenceLogins.java ์ƒ์„ฑ

@Data @NoArgsConstructor @AllArgsConstructor @Builder public class PersistenceLogins { private int no; private String id; private String username; private String token; private Date expiryDate; private Date createdAt; private Date updatedAt; }
SQL
๋ณต์‚ฌ