add tamper protection
This commit is contained in:
parent
b4a6308d5a
commit
bf0a9ccbc9
@ -21,7 +21,8 @@ class AppAccessManager : AccessManager {
|
|||||||
return database.find(EntityModel::class.java)
|
return database.find(EntityModel::class.java)
|
||||||
.where()
|
.where()
|
||||||
.eq("name", entity)
|
.eq("name", entity)
|
||||||
.findOne()?.actions
|
.findOne()
|
||||||
|
?.actions
|
||||||
?.filter { it.equals(action, ignoreCase = true) }
|
?.filter { it.equals(action, ignoreCase = true) }
|
||||||
?.map { "role_${entity}_$it" } ?: emptyList()
|
?.map { "role_${entity}_$it" } ?: emptyList()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,6 +47,8 @@ fun main(args: Array<String>) {
|
|||||||
val updateRole = Role.Standard(Action.UPDATE)
|
val updateRole = Role.Standard(Action.UPDATE)
|
||||||
val approveOrRejectRole = Role.Standard(Action.APPROVE)
|
val approveOrRejectRole = Role.Standard(Action.APPROVE)
|
||||||
|
|
||||||
|
//todo, create roles in keycloak based on entity and actions
|
||||||
|
|
||||||
//ratelimit based on IP Only
|
//ratelimit based on IP Only
|
||||||
RateLimitUtil.keyFunction = { ctx -> ctx.header("X-Forwarded-For")?.split(",")?.get(0) ?: ctx.ip() }
|
RateLimitUtil.keyFunction = { ctx -> ctx.header("X-Forwarded-For")?.split(",")?.get(0) ?: ctx.ip() }
|
||||||
Javalin
|
Javalin
|
||||||
@ -225,15 +227,11 @@ fun main(args: Array<String>) {
|
|||||||
|
|
||||||
|
|
||||||
private fun getFormDataAsString(formData: Map<String, String>): String {
|
private fun getFormDataAsString(formData: Map<String, String>): String {
|
||||||
val formBodyBuilder = StringBuilder()
|
|
||||||
for ((key, value) in formData) {
|
return formData.entries.joinToString("&") {
|
||||||
if (formBodyBuilder.isNotEmpty()) {
|
val key = URLEncoder.encode(it.key, StandardCharsets.UTF_8)
|
||||||
formBodyBuilder.append("&")
|
val value = URLEncoder.encode(it.value, StandardCharsets.UTF_8)
|
||||||
}
|
"$key=$value"
|
||||||
formBodyBuilder.append(URLEncoder.encode(key, StandardCharsets.UTF_8))
|
|
||||||
formBodyBuilder.append("=")
|
|
||||||
formBodyBuilder.append(URLEncoder.encode(value, StandardCharsets.UTF_8))
|
|
||||||
}
|
}
|
||||||
return formBodyBuilder.toString()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user