mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-10 21:10:17 +02:00
Corrected authenticator group return
It works.
This commit is contained in:
parent
d1038d1b72
commit
b8db2c464b
@ -1,6 +1,7 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from .models import AuthTS
|
from .models import AuthTS
|
||||||
from .models import DiscordAuthToken
|
from .models import DiscordAuthToken
|
||||||
|
from .models import MumbleUser
|
||||||
|
|
||||||
class AuthTSgroupAdmin(admin.ModelAdmin):
|
class AuthTSgroupAdmin(admin.ModelAdmin):
|
||||||
fields = ['auth_group','ts_group']
|
fields = ['auth_group','ts_group']
|
||||||
@ -9,3 +10,5 @@ class AuthTSgroupAdmin(admin.ModelAdmin):
|
|||||||
admin.site.register(AuthTS, AuthTSgroupAdmin)
|
admin.site.register(AuthTS, AuthTSgroupAdmin)
|
||||||
|
|
||||||
admin.site.register(DiscordAuthToken)
|
admin.site.register(DiscordAuthToken)
|
||||||
|
|
||||||
|
admin.site.register(MumbleUser)
|
||||||
|
@ -102,11 +102,15 @@ class MumbleManager:
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def update_groups(username, groups):
|
def update_groups(username, groups):
|
||||||
logger.debug("Updating mumble user %s groups %s" % (username, groups))
|
logger.debug("Updating mumble user %s groups %s" % (username, groups))
|
||||||
safe_groups = set([g.replace(' ', '-') for g in groups])
|
safe_groups = list(set([g.replace(' ', '-') for g in groups]))
|
||||||
|
groups =''
|
||||||
|
for g in safe_groups:
|
||||||
|
groups = groups + g + ','
|
||||||
|
groups = groups.strip(',')
|
||||||
if MumbleUser.objects.filter(username=username).exists():
|
if MumbleUser.objects.filter(username=username).exists():
|
||||||
logger.info("Updating mumble user %s groups to %s" % (username, safe_groups))
|
logger.info("Updating mumble user %s groups to %s" % (username, safe_groups))
|
||||||
model = MumbleUser.objects.get(username=username)
|
model = MumbleUser.objects.get(username=username)
|
||||||
model.groups = safe_groups
|
model.groups = groups
|
||||||
model.save()
|
model.save()
|
||||||
else:
|
else:
|
||||||
logger.error("User %s not found on mumble. Unable to update groups." % username)
|
logger.error("User %s not found on mumble. Unable to update groups." % username)
|
||||||
|
@ -45,4 +45,4 @@ class MumbleUser(models.Model):
|
|||||||
groups = models.TextField(blank=True, null=True)
|
groups = models.TextField(blank=True, null=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.username + ' - ' + str(self.user)
|
return self.username
|
||||||
|
1
thirdparty/Mumble/.gitignore
vendored
Normal file
1
thirdparty/Mumble/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
authenticator.ini
|
6
thirdparty/Mumble/authenticator.py
vendored
6
thirdparty/Mumble/authenticator.py
vendored
@ -499,11 +499,13 @@ def do_main_program():
|
|||||||
return (FALL_THROUGH, None, None)
|
return (FALL_THROUGH, None, None)
|
||||||
|
|
||||||
uid, upwhash, ugroups = res
|
uid, upwhash, ugroups = res
|
||||||
|
|
||||||
|
groups = ugroups.split(',')
|
||||||
|
|
||||||
if allianceauth_check_hash(pw, upwhash):
|
if allianceauth_check_hash(pw, upwhash):
|
||||||
info('User authenticated: "%s" (%d)', name, uid + cfg.user.id_offset)
|
info('User authenticated: "%s" (%d)', name, uid + cfg.user.id_offset)
|
||||||
debug('Group memberships: %s', str(ugroups))
|
debug('Group memberships: %s', str(groups))
|
||||||
return (uid + cfg.user.id_offset, entity_decode(name), ugroups)
|
return (uid + cfg.user.id_offset, entity_decode(name), groups)
|
||||||
|
|
||||||
info('Failed authentication attempt for user: "%s" (%d)', name, uid + cfg.user.id_offset)
|
info('Failed authentication attempt for user: "%s" (%d)', name, uid + cfg.user.id_offset)
|
||||||
return (AUTH_REFUSED, None, None)
|
return (AUTH_REFUSED, None, None)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user