Redirection et page privé de l'utilisateur
This commit is contained in:
parent
ab6de25744
commit
52f63fb3f0
|
@ -0,0 +1,61 @@
|
|||
<!DOCTYPE>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<title>Portal User</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav class="container-fluid">
|
||||
<ul>
|
||||
<li>
|
||||
<details role="list" >
|
||||
<summary aria-haspopup="listbox" role="link" class="secondary">Theme</summary>
|
||||
<ul role="listbox">
|
||||
<li><a href="#" data-theme-switcher="auto">Auto</a></li>
|
||||
<li><a href="#" data-theme-switcher="light">Light</a></li>
|
||||
<li><a href="#" data-theme-switcher="dark">Dark</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details role="list" >
|
||||
<summary aria-haspopup="listbox" role="link" class="secondary"> Mon compte </summary>
|
||||
<ul role="listbox">
|
||||
<li><a href="#"> Mes services </a> </li>
|
||||
<li><a href="#"> Documentation </a></li>
|
||||
<li><a href="#"> Changer mon mot de passe </a></li>
|
||||
<li><a href="#"> Se déconnecter </a></li>
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Header -->
|
||||
<header class="container">
|
||||
<hgroup>
|
||||
<h1> Bienvenue sur kitoy.me </h1>
|
||||
<h2> Gérez votre compte sur kitoy.me </h2>
|
||||
</hgroup>
|
||||
|
||||
<!-- Nav -->
|
||||
</header><!-- ./ Header -->
|
||||
|
||||
|
||||
<main class="container">
|
||||
<h2> Gérer votre compte </h2>
|
||||
|
||||
<p>message debug: $msg$</p>
|
||||
|
||||
</main>
|
||||
<!-- Minimal theme switcher -->
|
||||
<script src="/js/theme-switcher.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
</html>
|
|
@ -1,5 +0,0 @@
|
|||
<html>
|
||||
<body>
|
||||
<h1> BRAVO </h1>
|
||||
</body>
|
||||
</html>
|
1326
assets/style.css
1326
assets/style.css
File diff suppressed because it is too large
Load Diff
|
@ -38,7 +38,8 @@ domain * {
|
|||
route /css/style.css asset_serve_style_css
|
||||
route /js/theme-switcher.js asset_serve_theme_switcher_js
|
||||
route /signup create_user
|
||||
route /portal/bienvenue asset_serve_private_test_html auth_example
|
||||
route /portal/bienvenue private_portal auth_example
|
||||
route /logout v_session_remove
|
||||
|
||||
params post / {
|
||||
validate login v_login
|
||||
|
|
|
@ -34,6 +34,7 @@ int v_password_func(struct http_request *, char *);
|
|||
int create_user(struct http_request *);
|
||||
int v_session_validate(struct http_request *, char *);
|
||||
int v_session_remove(struct http_request *, char *);
|
||||
int private_portal(struct http_request *);
|
||||
|
||||
hashtable_t *hashtable = NULL;
|
||||
|
||||
|
@ -142,9 +143,10 @@ int create_user(struct http_request *req)
|
|||
}
|
||||
|
||||
sqlite3_close(db);
|
||||
http_response_header(req, "location", "/");
|
||||
http_response_header(req, "content-type", "text/html");
|
||||
d = kore_buf_release(b, &len);
|
||||
http_response(req, 200, d, len);
|
||||
http_response(req, HTTP_STATUS_FOUND, NULL, 0);
|
||||
kore_free(d);
|
||||
|
||||
return (KORE_RESULT_OK);
|
||||
|
@ -266,8 +268,10 @@ int portal_user_load(struct http_request *req)
|
|||
if (cookie != NULL)
|
||||
http_response_header(req, "set-cookie", cookie);
|
||||
d = kore_buf_release(b, &len);
|
||||
http_response(req, 200, d, len);
|
||||
kore_free(d);
|
||||
|
||||
http_response_header(req, "location", "/portal/bienvenue");
|
||||
http_response(req, HTTP_STATUS_FOUND, NULL, 0);
|
||||
kore_free(d);
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
||||
|
||||
|
@ -294,10 +298,10 @@ int v_session_remove (struct http_request *req, char *data)
|
|||
|
||||
if (ht_get(hashtable, buffer) != NULL)
|
||||
ht_delete(hashtable, buffer);
|
||||
|
||||
http_response_header(req, "location", "/");
|
||||
http_response_header(req, "content-type", "text/html");
|
||||
http_response_header(req, "set-cookie", "session_id=");
|
||||
http_response(req, 200, asset_index_html, asset_len_index_html);
|
||||
http_response_header(req, "set-cookie", "session_id=""");
|
||||
http_response(req, HTTP_STATUS_FOUND, NULL, 0);
|
||||
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
||||
|
@ -311,3 +315,27 @@ int v_session_validate(struct http_request *req, char *data)
|
|||
|
||||
return (KORE_RESULT_ERROR);
|
||||
}
|
||||
|
||||
int private_portal(struct http_request *req)
|
||||
{
|
||||
struct kore_buf *b = NULL;
|
||||
u_int8_t *d = NULL;
|
||||
size_t len = 0;
|
||||
|
||||
if (req->method == HTTP_METHOD_GET)
|
||||
http_populate_get(req);
|
||||
|
||||
b = kore_buf_alloc(asset_len_signup_html);
|
||||
kore_buf_append(b, asset_private_html, asset_len_private_html);
|
||||
|
||||
|
||||
if (req->method == HTTP_METHOD_GET) {
|
||||
kore_buf_replace_string(b, "$msg$", "GO", 4);
|
||||
|
||||
http_response_header(req, "content-type", "text/html");
|
||||
d = kore_buf_release(b, &len);
|
||||
http_response(req, 200, d, len);
|
||||
kore_free(d);
|
||||
return (KORE_RESULT_OK);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue