Toggle navigation
Toggle navigation
This project
Loading...
Sign in
이재용
/
for_test
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
이재용
2020-05-11 20:19:14 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
e0219e74ea5370bdceeffbbf924f75529c212c9e
e0219e74
1 parent
297ffd43
app.js updated
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
206 additions
and
0 deletions
app.js
app.js
0 → 100644
View file @
e0219e7
var
express
=
require
(
'express'
);
var
app
=
express
();
var
bodyParser
=
require
(
'body-parser'
);
var
session
=
require
(
'express-session'
)
app
.
use
(
session
({
secret
:
'keyboard cat'
,
cookie
:
{
maxAge
:
60000
}}))
app
.
use
(
bodyParser
.
urlencoded
({
extended
:
false
}));
app
.
use
(
bodyParser
.
json
());
var
users
=
new
Array
();
users
[
0
]
=
{
"userId"
:
"aaa"
,
"name"
:
"jin"
,
"password"
:
"1234"
,
"isAdmin"
:
true
}
users
[
1
]
=
{
"userId"
:
"asd"
,
"name"
:
"kim"
,
"password"
:
"1234"
,
"isAdmin"
:
false
}
app
.
put
(
'/login'
,
function
(
req
,
res
)
{
if
(
req
.
session
.
userId
!=
null
)
{
res
.
send
(
"이미 로그인 상태입니다"
)
}
else
{
var
users_num
=
users
.
length
console
.
log
(
users_num
)
var
checking
=
0
while
(
users_num
>
0
)
{
console
.
log
(
users
[
users_num
-
1
].
userId
)
if
(
users
[
users_num
-
1
].
userId
==
req
.
body
.
userId
)
{
checking
=
1
console
.
log
(
"id ok"
)
if
(
users
[
users_num
-
1
].
password
==
req
.
body
.
password
)
{
req
.
session
.
userId
=
req
.
body
.
userId
if
(
users
[
users_num
-
1
].
isAdmin
==
true
)
{
req
.
session
.
isAdmin
=
1
res
.
send
(
"login as admin"
);
console
.
log
(
"admin ok"
)
}
else
{
console
.
log
(
"guset ok"
)
res
.
send
(
"login as guest"
);
}
}
else
{
console
.
log
(
"passwd ok"
)
res
.
send
(
"wrong password"
);
}
}
users_num
-=
1
}
// users 배열에서 찾도록 처리 해야 함
// admin 여부를 확인하여 체크
// req.body.id : ID -> req.body.userId 로 변경했습니다
// req.body.name : 패스워드 -> req.body.password 로 변경했습니다
if
(
checking
==
0
)
{
res
.
send
(
"no id"
)
}
}
});
app
.
put
(
'/logout'
,
function
(
req
,
res
)
{
// Logout
if
(
req
.
session
.
userId
!=
null
&&
req
.
session
.
userId
==
req
.
body
.
userId
)
{
// 세션 유효 여부를 체크하고 세션 Delete
req
.
session
.
userId
=
null
req
.
session
.
isAdmin
=
0
res
.
send
(
"LogOut"
);
}
else
if
(
req
.
session
.
userId
!=
null
&&
req
.
session
.
userId
!=
req
.
body
.
userId
)
{
res
.
send
(
"로그아웃 body를 다시 한번 해보세요(현재 로그인 된 아이디와 다름"
)
}
else
{
res
.
send
(
"already Logout"
)
}
});
var
auth
=
function
(
req
,
res
,
next
)
{
// Session Check
// 어드민 여부 체크 필요
if
(
req
.
session
.
userId
!=
null
)
{
if
(
req
.
session
.
isAdmin
==
1
)
{
next
();
}
else
{
res
.
send
(
"only admin can use this function"
)
}
}
else
res
.
send
(
"Error"
);
};
app
.
get
(
'/users/:userId'
,
auth
,
function
(
req
,
res
)
{
var
users_num_get
=
users
.
length
// get User Information
var
user_id
=
String
(
req
.
params
.
userId
)
console
.
log
(
user_id
)
var
checking2
=
0
while
(
users_num_get
>
0
)
{
if
(
users
[
users_num_get
-
1
].
userId
==
user_id
)
{
checking2
=
1
res
.
send
(
users
[
users_num_get
-
1
]);
res
.
end
()
}
else
{
console
.
log
(
""
)
}
users_num_get
-=
1
}
if
(
checking2
==
0
)
{
res
.
send
(
"해당 아이디가 없습니다."
)
}
});
app
.
post
(
'/users'
,
auth
,
function
(
req
,
res
)
{
var
num
=
users
.
length
users
[
num
]
=
{
"userId"
:
req
.
body
.
userId
,
"name"
:
req
.
body
.
name
,
"password"
:
req
.
body
.
password
,
"isAdmin"
:
req
.
body
.
isAdmin
}
console
.
log
(
users
[
num
])
res
.
send
(
"사용자가 생성되었습니다."
)
});
// 사용자 추가 시에 admin 여부도 추가해야 함
app
.
put
(
'/users'
,
auth
,
function
(
req
,
res
)
{
num
=
users
.
length
checking2
=
0
while
(
num
>
0
)
{
if
(
users
[
num
-
1
].
userId
==
req
.
body
.
userId
)
{
users
[
num
-
1
]
=
{
"userId"
:
req
.
body
.
userId
,
"name"
:
req
.
body
.
name
,
"password"
:
req
.
body
.
password
,
"isAdmin"
:
req
.
body
.
isAdmin
}
console
.
log
(
users
[
num
-
1
])
res
.
send
(
"사용자 정보가 변경되었습니다."
)
checking2
=
1
}
num
-=
1
}
if
(
checking2
==
0
)
{
res
.
send
(
"해당 사용자가 없습니다"
)
}
});
app
.
delete
(
'/users/:userId'
,
auth
,
function
(
req
,
res
)
{
var
id_check
=
req
.
params
.
userId
num
=
users
.
length
checking2
=
0
while
(
num
>
0
)
{
if
(
users
[
num
-
1
].
userId
==
id_check
)
{
users
.
splice
(
num
-
1
,
1
)
checking2
=
1
res
.
send
(
"삭제가 완료되었습니다."
)
}
num
-=
1
}
if
(
checking2
==
0
)
{
res
.
send
(
"해당 사용자가 없습니다"
)
}
});
var
server
=
app
.
listen
(
80
);
Please
register
or
login
to post a comment