v0.0.10
+ Добавлена авторизация как отдельная страница + Небольшие исправления в JS при ответе от сервера
This commit is contained in:
parent
639118f781
commit
e74c0a1af0
11 changed files with 283 additions and 40 deletions
47
source/requests/authorization.d
Normal file
47
source/requests/authorization.d
Normal file
|
@ -0,0 +1,47 @@
|
|||
module requests.authorization;
|
||||
|
||||
import vibe.vibe;
|
||||
import response;
|
||||
import structures;
|
||||
import singlog;
|
||||
|
||||
void login(HTTPServerRequest req, HTTPServerResponse res, AuthData serverAuthData) {
|
||||
auto userAuthData = deserializeJson!AuthData(req.json);
|
||||
|
||||
if (!(serverAuthData.login == userAuthData.login &&
|
||||
serverAuthData.password == userAuthData.password)) {
|
||||
log.i(("Данные авторизации не верны: %s").format(req.json));
|
||||
res.send(
|
||||
true,
|
||||
"Данные авторизации не верны"
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
auto user = UserData(true);
|
||||
|
||||
req.session = res.startSession();
|
||||
req.session.set!UserData("user", user);
|
||||
|
||||
log.i("Авторизация успешно пройдена");
|
||||
|
||||
res.send();
|
||||
}
|
||||
|
||||
void logout(HTTPServerRequest req, HTTPServerResponse res) {
|
||||
req.session.set!UserData("user", UserData.init);
|
||||
res.terminateSession();
|
||||
|
||||
log.i("Выход из системы");
|
||||
|
||||
res.send();
|
||||
}
|
||||
|
||||
bool checkAuth(HTTPServerRequest req) {
|
||||
if (req.session)
|
||||
return req.session.get!UserData("user").login;
|
||||
|
||||
log.d("Отсутствует авторизация");
|
||||
|
||||
return false;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue