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,8 +38,9 @@ domain * {
|
||||||
route /css/style.css asset_serve_style_css
|
route /css/style.css asset_serve_style_css
|
||||||
route /js/theme-switcher.js asset_serve_theme_switcher_js
|
route /js/theme-switcher.js asset_serve_theme_switcher_js
|
||||||
route /signup create_user
|
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 / {
|
params post / {
|
||||||
validate login v_login
|
validate login v_login
|
||||||
validate password v_password
|
validate password v_password
|
||||||
|
|
|
@ -34,6 +34,7 @@ int v_password_func(struct http_request *, char *);
|
||||||
int create_user(struct http_request *);
|
int create_user(struct http_request *);
|
||||||
int v_session_validate(struct http_request *, char *);
|
int v_session_validate(struct http_request *, char *);
|
||||||
int v_session_remove(struct http_request *, char *);
|
int v_session_remove(struct http_request *, char *);
|
||||||
|
int private_portal(struct http_request *);
|
||||||
|
|
||||||
hashtable_t *hashtable = NULL;
|
hashtable_t *hashtable = NULL;
|
||||||
|
|
||||||
|
@ -142,9 +143,10 @@ int create_user(struct http_request *req)
|
||||||
}
|
}
|
||||||
|
|
||||||
sqlite3_close(db);
|
sqlite3_close(db);
|
||||||
|
http_response_header(req, "location", "/");
|
||||||
http_response_header(req, "content-type", "text/html");
|
http_response_header(req, "content-type", "text/html");
|
||||||
d = kore_buf_release(b, &len);
|
d = kore_buf_release(b, &len);
|
||||||
http_response(req, 200, d, len);
|
http_response(req, HTTP_STATUS_FOUND, NULL, 0);
|
||||||
kore_free(d);
|
kore_free(d);
|
||||||
|
|
||||||
return (KORE_RESULT_OK);
|
return (KORE_RESULT_OK);
|
||||||
|
@ -266,8 +268,10 @@ int portal_user_load(struct http_request *req)
|
||||||
if (cookie != NULL)
|
if (cookie != NULL)
|
||||||
http_response_header(req, "set-cookie", cookie);
|
http_response_header(req, "set-cookie", cookie);
|
||||||
d = kore_buf_release(b, &len);
|
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);
|
return (KORE_RESULT_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -294,10 +298,10 @@ int v_session_remove (struct http_request *req, char *data)
|
||||||
|
|
||||||
if (ht_get(hashtable, buffer) != NULL)
|
if (ht_get(hashtable, buffer) != NULL)
|
||||||
ht_delete(hashtable, buffer);
|
ht_delete(hashtable, buffer);
|
||||||
|
http_response_header(req, "location", "/");
|
||||||
http_response_header(req, "content-type", "text/html");
|
http_response_header(req, "content-type", "text/html");
|
||||||
http_response_header(req, "set-cookie", "session_id=");
|
http_response_header(req, "set-cookie", "session_id=""");
|
||||||
http_response(req, 200, asset_index_html, asset_len_index_html);
|
http_response(req, HTTP_STATUS_FOUND, NULL, 0);
|
||||||
|
|
||||||
return (KORE_RESULT_OK);
|
return (KORE_RESULT_OK);
|
||||||
}
|
}
|
||||||
|
@ -311,3 +315,27 @@ int v_session_validate(struct http_request *req, char *data)
|
||||||
|
|
||||||
return (KORE_RESULT_ERROR);
|
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