Logout
This commit is contained in:
@@ -46,7 +46,8 @@ class AuthFilter: Filter {
|
||||
private val whitelist = setOf(
|
||||
"/index-ffg",
|
||||
"/login",
|
||||
"/api/login"
|
||||
"/api/login",
|
||||
"api/logout"
|
||||
)
|
||||
|
||||
fun whitelisted(uri: String): Boolean {
|
||||
|
@@ -0,0 +1,17 @@
|
||||
package org.jeudego.pairgoth.web
|
||||
|
||||
import com.republicate.kson.Json
|
||||
import org.slf4j.LoggerFactory
|
||||
import javax.servlet.http.HttpServlet
|
||||
import javax.servlet.http.HttpServletRequest
|
||||
import javax.servlet.http.HttpServletResponse
|
||||
|
||||
class LogoutServlet: HttpServlet() {
|
||||
|
||||
override fun doPost(req: HttpServletRequest, resp: HttpServletResponse) {
|
||||
req.session.removeAttribute("logged")
|
||||
val ret = Json.Object("status" to "ok")
|
||||
resp.contentType = "application/json"
|
||||
resp.writer.println(ret.toString())
|
||||
}
|
||||
}
|
@@ -54,6 +54,12 @@
|
||||
max-height: 100%;
|
||||
}
|
||||
}
|
||||
#header-right {
|
||||
display: flex;
|
||||
flex-flow: row nowrap;
|
||||
gap: 0.5em;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
#center {
|
||||
|
@@ -43,8 +43,15 @@
|
||||
<h1 id="title">
|
||||
#if($tour)$esc.html($tour.name)#end
|
||||
</h1>
|
||||
<div id="lang">
|
||||
<i class="$translate.flags[$request.lang] flag"></i>
|
||||
<div id="header-right">
|
||||
<div id="lang">
|
||||
<i class="$translate.flags[$request.lang] flag"></i>
|
||||
</div>
|
||||
#if($session.logged)
|
||||
<div id="logout">
|
||||
<i class="fa fa-sign-out"></i>
|
||||
</div>
|
||||
#end
|
||||
</div>
|
||||
</div>
|
||||
<div id="center">
|
||||
@@ -108,6 +115,14 @@
|
||||
$('body').removeClass('dimmed');
|
||||
}
|
||||
});
|
||||
$('#logout').on('click', e => {
|
||||
api.postJson('logout', {})
|
||||
.then(ret => {
|
||||
if (ret !== 'error') {
|
||||
document.location.href = '/index';
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// syntaxic sugar for IMask
|
||||
|
@@ -94,6 +94,12 @@
|
||||
<load-on-startup>1</load-on-startup>
|
||||
<async-supported>true</async-supported>
|
||||
</servlet>
|
||||
<servlet>
|
||||
<servlet-name>logout</servlet-name>
|
||||
<servlet-class>org.jeudego.pairgoth.web.LogoutServlet</servlet-class>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
<async-supported>true</async-supported>
|
||||
</servlet>
|
||||
|
||||
<!-- servlet mappings -->
|
||||
<servlet-mapping>
|
||||
@@ -120,6 +126,10 @@
|
||||
<servlet-name>login</servlet-name>
|
||||
<url-pattern>/api/login</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet-mapping>
|
||||
<servlet-name>logout</servlet-name>
|
||||
<url-pattern>/api/logout</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- context params -->
|
||||
<context-param>
|
||||
|
Reference in New Issue
Block a user