NodeJS ๋ก๊ทธ์ธ
๊ฐ๋จํ ๋ก๊ทธ์ธ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ฒ ๋์๋ค.
๊ตฌํ ๋ฐฉ๋ฒ
localhost:3000/login์ผ๋ก ์์ฒญ์ด ๋ค์ด์ค๊ฒ ๋๋ฉด login.html ํ์ผ์ ๋ ๋๋ง ํด์ค๋ค.
๊ทธ ํ์ ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ์น๊ณ ๋ก๊ทธ์ธ ๋ฒํผ์ ๋๋ฅด๊ฒ ๋๋ฉด POST /login ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ฒ์์ ์ฒ๋ฆฌ๋ฅผ ํด์ค๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๊ฒฐํ ์ ์์ง๋ง ๋น์ฉ์ด ๋ค๊ธฐ ๋๋ฌธ์ ์ด๋ฒ ๊ตฌํ์์๋ ๊ฐ๋จํ๊ฒ ๋ก๊ทธ์ธ์ด ์ ๋๋์ง ์ ๋๋ง ํ์ธ ํ ์์ ์ด๋ค.
login.html
<!DOCTYPE html>
<html>
<head>
<title>Simple Login</title>
<meta charset="utf-8" />
</head>
<body>
<!-- ๋ก๊ทธ์ธํผ -->
<div>
<form action="/login" method="post">
์์ด๋ : <input name="user_id" type="text" /><br />
๋น๋ฐ๋ฒํธ : <input name="user_pwd" type="password" /><br />
<input value="๋ก๊ทธ์ธ" type="submit" />
</form>
</div>
</body>
</html>
์ผ๋จ ๊ฐ๋จํ ๋ก๊ทธ์ธ ํผ์ ๋ง๋ค๊ธฐ ์ํด login.html ํ์ผ์ ๋ง๋ค์ด ์ฃผ์๋ค. ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ ์นธ์ด ์๊ณ ๋ก๊ทธ์ธ ๋ฒํผ์ ๋๋ฅด๊ฒ ๋๋ฉด ์๋ฒ์ ์์ฒญ์ ํ๊ฒ ๋๋ค.
tcpServer.js
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
const user = {
id: 'test',
password: '1234',
}; // ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ๋์ ํด์ค user ์ ๋ณด
app.get('/', (req, res) => {
res.sendFile(__dirname + '/client.html');
});
app.get('/login', (req, res) => {
res.sendFile(__dirname + '/login.html');
});
app.post('/login', (req, res) => {
console.log(req.body);
const id = req.body.user_id;
const password = req.body.user_pwd;
console.log(id);
if (id === user.id && password === user.password) res.redirect('/');
// ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ํ๊ฒ ๋๋ฉด ์ฟผ๋ฆฌ๋ฌธ์ด ๋ค์ด๊ฐ๊ฒ ๋จ
else res.send('์์ด๋๋ ๋น๋ฐ๋ฒํธ๊ฐ ํ๋ ธ์ต๋๋ค. ');
});
์๋ฒ ๋จ์์๋ login.html์์ ๋๊ฒจ์ฃผ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ผ ํ๊ธฐ ๋๋ฌธ์ json์ ์ฝ์ ์ ์๋๋ก ํ์๋ค.
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
POST ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธ์ ๊ตฌํํ์๋ค.
๋ก๊ทธ์ธ์ ํ ๋ ์์ด๋์ ๋น๋ฐ๋ฒํธ๊ฐ req.body ๋ก ๋์ด์ค๊ฒ ๋๊ณ login.html์์ user_id, user_pwd๋ก ์ค์ ์ ํ์๊ธฐ ๋๋ฌธ์ req.body.user_id ์ req.body.user_pwd ๋ฅผ id ์ password ์ ์ ์ฅํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฏธ๋ฆฌ ์ค์ ํด๋ user ๊ฐ์ฒด์ ์ ๋ณด์ ๋น๊ตํ์ฌ ์ฌ๋ฐ๋ฅด๋ค๋ฉด localhost:3000/ ๋ก ๋ฆฌ๋ค์ด๋ ํธ๋ฅผ ์์ผ์ค๋ค.
์ฌ์ฉ์ ์ ๋ณด๋ ์๋ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ ์ฅํ์ฌ ๋น๊ตํ์ฌ์ผ ํ์ง๋ง ์ด๋ค ์์ผ๋ก ๋์๊ฐ๊ฒ ๋๋์ง ์์๋ณด๊ธฐ ์ํด ์์๋ก
๋ง๋ค์๋ค.
์ด๋ ๊ฒ ๋ก๊ทธ์ธ์ด ์ฑ๊ณตํ๊ฒ ๋๋ฉด ๋๋ฌธ์๋ฅผ ๋ณด๋ด๋ฉด ์๋ฌธ์๋ก ๋ฐ๊ฟ์ฃผ๊ณ ์๋ฌธ์๋ฅผ ๋ณด๋ด๋ฉด ๋๋ฌธ์๋ก ๋ฐ๊ฟ์ฃผ๋ ๋ง๋ค์ด ๋์ ์์ผ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ๋ฆฌ๋ค์ด๋ ํธ ๋๋ค.
'๐ป BackEnd > ๐ฉ NodeJS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Network] [NodeJS] Socket.IO๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฌธ์๋ฅผ ๋ณด๋ด๋ฉด ๋๋ฌธ์๋ก ๋ฐ๊พธ๊ธฐ (0) | 2022.04.21 |
---|---|
[NodeJS] ์ฌ์ฉ์ ํ์๊ฐ์ (0) | 2022.03.27 |
[NodeJS] ํ๋ก์ ํธ ํด๋ ๊ตฌ์กฐ ๋ง๋ค๊ธฐ (0) | 2022.03.23 |