Remove public page to use direct login as status one

Rework HTTP Handler as we redirect all trafic to HTTPS
This commit is contained in:
Silversthorn 2023-01-25 23:26:04 +01:00
parent 4248174041
commit d97a792987
6 changed files with 114 additions and 127 deletions

View File

@ -17,6 +17,5 @@ class DefaultHandler(BaseHandler):
)
else:
self.redirect(
"/public/login",
# translate=self.translator.translate,
"/login",
)

View File

@ -61,15 +61,15 @@ class PublicHandler(BaseHandler):
self.clear_cookie("token")
# self.clear_cookie("user")
# self.clear_cookie("user_data")
self.redirect("/public/login")
self.redirect("/login")
return
# if we have no page, let's go to login
else:
if self.request.query:
self.redirect("/public/login?" + self.request.query)
self.redirect("/login?" + self.request.query)
else:
self.redirect("/public/login")
self.redirect("/login")
return
self.render(
@ -96,9 +96,9 @@ class PublicHandler(BaseHandler):
if page == "login":
next_page = "/public/login"
next_page = "/login"
if self.request.query:
next_page = "/public/login?" + self.request.query
next_page = "/login?" + self.request.query
entered_username = bleach.clean(self.get_argument("username"))
entered_password = bleach.clean(self.get_argument("password"))
@ -113,11 +113,9 @@ class PublicHandler(BaseHandler):
# self.clear_cookie("user_data")
self.clear_cookie("token")
if self.request.query:
self.redirect(
f"/public/login?error_msg={error_msg}&{self.request.query}"
)
self.redirect(f"/login?error_msg={error_msg}&{self.request.query}")
else:
self.redirect(f"/public/login?error_msg={error_msg}")
self.redirect(f"/login?error_msg={error_msg}")
return
# if we don't have a user
@ -127,11 +125,9 @@ class PublicHandler(BaseHandler):
# self.clear_cookie("user_data")
self.clear_cookie("token")
if self.request.query:
self.redirect(
f"/public/login?error_msg={error_msg}&{self.request.query}"
)
self.redirect(f"/login?error_msg={error_msg}&{self.request.query}")
else:
self.redirect(f"/public/login?error_msg={error_msg}")
self.redirect(f"/login?error_msg={error_msg}")
return
# if they are disabled
@ -144,11 +140,9 @@ class PublicHandler(BaseHandler):
# self.clear_cookie("user_data")
self.clear_cookie("token")
if self.request.query:
self.redirect(
f"/public/login?error_msg={error_msg}&{self.request.query}"
)
self.redirect(f"/login?error_msg={error_msg}&{self.request.query}")
else:
self.redirect(f"/public/login?error_msg={error_msg}")
self.redirect(f"/login?error_msg={error_msg}")
return
login_result = self.helper.verify_pass(entered_password, user_data.password)
@ -187,13 +181,11 @@ class PublicHandler(BaseHandler):
user_data.user_id, "Tried to log in", 0, self.get_remote_ip()
)
if self.request.query:
self.redirect(
f"/public/login?error_msg={error_msg}&{self.request.query}"
)
self.redirect(f"/login?error_msg={error_msg}&{self.request.query}")
else:
self.redirect(f"/public/login?error_msg={error_msg}")
self.redirect(f"/login?error_msg={error_msg}")
else:
if self.request.query:
self.redirect("/public/login?" + self.request.query)
self.redirect("/login?" + self.request.query)
else:
self.redirect("/public/login")
self.redirect("/login")

View File

@ -147,7 +147,6 @@ class Webserver:
}
handlers = [
(r"/", DefaultHandler, handler_args),
(r"/public/(.*)", PublicHandler, handler_args),
(r"/panel/(.*)", PanelHandler, handler_args),
(r"/server/(.*)", ServerHandler, handler_args),
(r"/ajax/(.*)", AjaxHandler, handler_args),
@ -168,6 +167,8 @@ class Webserver:
(r"/api/v1/users/delete_user", DeleteUser, handler_args),
# API Routes V2
*api_handlers(handler_args),
# Using this one at the end to catch all the other requests to Public Handler
(r"/(.*)", PublicHandler, handler_args),
]
app = tornado.web.Application(
@ -179,21 +180,14 @@ class Webserver:
xsrf_cookies=True,
autoreload=False,
log_function=self.log_function,
login_url="/public/login",
login_url="/login",
default_handler_class=PublicHandler,
static_handler_class=CustomStaticHandler,
serve_traceback=debug_errors,
)
http_handers = [
(r"/", HTTPHandler, handler_args),
(r"/public/(.*)", HTTPHandlerPage, handler_args),
(r"/panel/(.*)", HTTPHandlerPage, handler_args),
(r"/server/(.*)", HTTPHandlerPage, handler_args),
(r"/ajax/(.*)", HTTPHandlerPage, handler_args),
(r"/api/stats/servers", HTTPHandlerPage, handler_args),
(r"/api/stats/node", HTTPHandlerPage, handler_args),
(r"/ws", HTTPHandlerPage, handler_args),
(r"/upload", HTTPHandlerPage, handler_args),
(r"/(.+)", HTTPHandlerPage, handler_args),
]
http_app = tornado.web.Application(
http_handers,
@ -205,7 +199,7 @@ class Webserver:
autoreload=False,
log_function=self.log_function,
default_handler_class=HTTPHandler,
login_url="/public/login",
login_url="/login",
serve_traceback=debug_errors,
)

View File

@ -34,16 +34,18 @@
</div>
{% if data['user_data']['preparing'] %}
<span class="dropdown-item" id="support_progress"><i class="dropdown-item-icon mdi mdi-download-outline text-primary"></i>{{ translate('notify', 'supportLogs', data['lang']) }}<br><br></span>
<span class="dropdown-item" id="support_progress"><div class="support_progress" style="height: 15px; width: 100%;">
<span class="dropdown-item" id="support_progress">
<div class="support_progress" style="height: 15px; width: 100%;">
<div class="progress-bar progress-bar-striped progress-bar-animated" id="logs_progress_bar" role="progressbar" style="width:0%;" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">0%</div>
</div></span>
</div>
</span>
{% else %}
<a class="dropdown-item" id="support_logs"><i class="dropdown-item-icon mdi mdi-download-outline text-primary"></i>{{ translate('notify', 'supportLogs', data['lang']) }}</i></a>
{% end %}
{% if data['superuser'] %}
<a class="dropdown-item" href="/panel/activity_logs"><i class="dropdown-item-icon mdi mdi-calendar-check-outline text-primary"></i>{{ translate('notify', 'activityLog', data['lang']) }}</a>
{% end %}
<a class="dropdown-item" href="/public/logout"><i class="dropdown-item-icon mdi mdi-power text-primary"></i>{{ translate('notify', 'logout', data['lang']) }}</a>
<a class="dropdown-item" href="/logout"><i class="dropdown-item-icon mdi mdi-power text-primary"></i>{{ translate('notify', 'logout', data['lang']) }}</a>
</div>
</li>
</ul>

View File

@ -69,9 +69,9 @@
}
</style>
{% if data['query'] %}
<form action="/public/login?{{ data['query'] }}" method="post">
<form action="/login?{{ data['query'] }}" method="post">
{% else %}
<form action="/public/login" method="post">
<form action="/login" method="post">
{% end %}
{% raw xsrf_form_html() %}
<div class="form-group">

View File

@ -9,7 +9,7 @@
<!-- <img src="/static/assets/images/logo_long.svg">-->
{{ _('Configure Your Existing Server') }}<br /><br />
</div>
<form action="/public/login" method="post">
<form action="/login" method="post">
{% raw xsrf_form_html() %}
<div class="form-group">