mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2025-05-14 23:24:30 -04:00
re-author plugins
This commit is contained in:
parent
01ba6d49d3
commit
654bd22bd0
19 changed files with 42 additions and 31 deletions
|
@ -1,9 +1,10 @@
|
|||
__package__ = 'plugins_auth.ldap'
|
||||
__label__ = 'ldap'
|
||||
__id__ = 'ldap'
|
||||
__label__ = 'LDAP'
|
||||
__version__ = '2024.10.14'
|
||||
__author__ = 'Nick Sweeting'
|
||||
__author__ = 'ArchiveBox'
|
||||
__homepage__ = 'https://github.com/django-auth-ldap/django-auth-ldap'
|
||||
# __dependencies__ = ['pip']
|
||||
__dependencies__ = ['pip']
|
||||
|
||||
import abx
|
||||
|
||||
|
@ -11,22 +12,24 @@ import abx
|
|||
@abx.hookimpl
|
||||
def get_PLUGIN():
|
||||
return {
|
||||
'ldap': {
|
||||
'PACKAGE': __package__,
|
||||
'LABEL': __label__,
|
||||
'VERSION': __version__,
|
||||
'AUTHOR': __author__,
|
||||
'HOMEPAGE': __homepage__,
|
||||
# 'DEPENDENCIES': __dependencies__,
|
||||
__id__: {
|
||||
'id': __id__,
|
||||
'package': __package__,
|
||||
'label': __label__,
|
||||
'version': __version__,
|
||||
'author': __author__,
|
||||
'homepage': __homepage__,
|
||||
'dependencies': __dependencies__,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@abx.hookimpl
|
||||
def get_CONFIG():
|
||||
from .config import LDAP_CONFIG
|
||||
|
||||
return {
|
||||
'ldap': LDAP_CONFIG
|
||||
__id__: LDAP_CONFIG
|
||||
}
|
||||
|
||||
@abx.hookimpl
|
||||
|
@ -39,6 +42,11 @@ def get_BINARIES():
|
|||
|
||||
|
||||
def create_superuser_from_ldap_user(sender, user=None, ldap_user=None, **kwargs):
|
||||
"""
|
||||
Invoked after LDAP authenticates a user, but before they have a local User account created.
|
||||
ArchiveBox requires staff/superuser status to view the admin at all, so we must create a user
|
||||
+ set staff and superuser when LDAP authenticates a new person.
|
||||
"""
|
||||
from django.conf import settings
|
||||
|
||||
if user is None:
|
||||
|
@ -53,9 +61,12 @@ def create_superuser_from_ldap_user(sender, user=None, ldap_user=None, **kwargs)
|
|||
|
||||
@abx.hookimpl
|
||||
def ready():
|
||||
"""
|
||||
Called at AppConfig.ready() time (settings + models are all loaded)
|
||||
"""
|
||||
from django.conf import settings
|
||||
|
||||
if settings.CONFIGS.ldap.LDAP_ENABLED:
|
||||
# tell django-auth-ldap to call our function when a user is authenticated via LDAP
|
||||
import django_auth_ldap.backend
|
||||
django_auth_ldap.backend.populate_user.connect(create_superuser_from_ldap_user)
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue