outposts: ensure outpost SAs always have permissions to fake IP
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
477c8b099e
commit
7370dd5f3f
|
@ -344,12 +344,13 @@ class Outpost(ManagedModel):
|
||||||
users = User.objects.filter(username=self.user_identifier)
|
users = User.objects.filter(username=self.user_identifier)
|
||||||
if not users.exists():
|
if not users.exists():
|
||||||
user: User = User.objects.create(username=self.user_identifier)
|
user: User = User.objects.create(username=self.user_identifier)
|
||||||
user.attributes[USER_ATTRIBUTE_SA] = True
|
|
||||||
user.attributes[USER_ATTRIBUTE_CAN_OVERRIDE_IP] = True
|
|
||||||
user.set_unusable_password()
|
user.set_unusable_password()
|
||||||
user.save()
|
user.save()
|
||||||
else:
|
else:
|
||||||
user = users.first()
|
user = users.first()
|
||||||
|
user.attributes[USER_ATTRIBUTE_SA] = True
|
||||||
|
user.attributes[USER_ATTRIBUTE_CAN_OVERRIDE_IP] = True
|
||||||
|
user.save()
|
||||||
# To ensure the user only has the correct permissions, we delete all of them and re-add
|
# To ensure the user only has the correct permissions, we delete all of them and re-add
|
||||||
# the ones the user needs
|
# the ones the user needs
|
||||||
with transaction.atomic():
|
with transaction.atomic():
|
||||||
|
|
Reference in New Issue