mirror of
https://github.com/haiwen/seahub.git
synced 2025-08-01 23:38:37 +00:00
optimize error msg when login via remote user
This commit is contained in:
parent
30d7542670
commit
243539c510
@ -134,7 +134,6 @@ class SeafileRemoteUserBackend(AuthBackend):
|
||||
if not user:
|
||||
# when user doesn't exist
|
||||
if not self.create_unknown_user:
|
||||
logger.error('User %s not found.' % username)
|
||||
return None
|
||||
|
||||
try:
|
||||
@ -150,16 +149,13 @@ class SeafileRemoteUserBackend(AuthBackend):
|
||||
logger.error(e)
|
||||
return None
|
||||
|
||||
if not self.user_can_authenticate(user):
|
||||
logger.error('User %s is not active' % username)
|
||||
return None
|
||||
|
||||
# update user info after authenticated
|
||||
try:
|
||||
self.configure_user(request, user)
|
||||
except Exception as e:
|
||||
logger.error(e)
|
||||
return None
|
||||
if self.user_can_authenticate(user):
|
||||
# update user info after authenticated
|
||||
try:
|
||||
self.configure_user(request, user)
|
||||
except Exception as e:
|
||||
logger.error(e)
|
||||
return None
|
||||
|
||||
# get user again with updated extra info after configure
|
||||
return self.get_user(username)
|
||||
|
@ -5,6 +5,7 @@ import logging
|
||||
from django.conf import settings
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
from django.utils.deprecation import MiddlewareMixin
|
||||
from django.shortcuts import render
|
||||
|
||||
from seahub import auth
|
||||
from seahub.base.sudo_mode import update_sudo_mode_ts
|
||||
@ -118,7 +119,15 @@ class SeafileRemoteUserMiddleware(MiddlewareMixin):
|
||||
# We are seeing this user for the first time in this session, attempt
|
||||
# to authenticate the user.
|
||||
user = auth.authenticate(request=request, remote_user=username)
|
||||
if not user:
|
||||
if not getattr(settings, 'REMOTE_USER_CREATE_UNKNOWN_USER', True):
|
||||
return render(request, 'remote_user/create_unknown_user_false.html')
|
||||
return render(request, 'remote_user/error.html')
|
||||
|
||||
if user:
|
||||
if not user.is_active:
|
||||
return render(request, 'remote_user/not_active.html')
|
||||
|
||||
# User is valid. Set request.user and persist user in the session
|
||||
# by logging the user in.
|
||||
request.user = user
|
||||
|
10
seahub/templates/remote_user/create_unknown_user_false.html
Normal file
10
seahub/templates/remote_user/create_unknown_user_false.html
Normal file
@ -0,0 +1,10 @@
|
||||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans "Error" %}{% endblock %}
|
||||
|
||||
{% block main_panel %}
|
||||
<div class="text-panel">
|
||||
<p>{% trans "Error, new user registration is not allowed, please contact administrator." %}</p>
|
||||
</div>
|
||||
{% endblock %}
|
10
seahub/templates/remote_user/error.html
Normal file
10
seahub/templates/remote_user/error.html
Normal file
@ -0,0 +1,10 @@
|
||||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans "Error" %}{% endblock %}
|
||||
|
||||
{% block main_panel %}
|
||||
<div class="text-panel">
|
||||
<p>{% trans "Error, please contact administrator." %}</p>
|
||||
</div>
|
||||
{% endblock %}
|
8
seahub/templates/remote_user/not_active.html
Normal file
8
seahub/templates/remote_user/not_active.html
Normal file
@ -0,0 +1,8 @@
|
||||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block main_panel %}
|
||||
<div class="text-panel">
|
||||
<p>{% trans "Your account is created successfully, please wait for administrator to activate your account." %}</p>
|
||||
</div>
|
||||
{% endblock %}
|
Loading…
Reference in New Issue
Block a user