forked from enviPath/enviPy
secret packs viz
This commit is contained in:
@ -83,6 +83,7 @@ def entra_callback(request):
|
||||
# Get implementing class
|
||||
User = get_user_model()
|
||||
|
||||
registered = False
|
||||
if User.objects.filter(uuid=user_oid).exists():
|
||||
u = User.objects.get(uuid=user_oid)
|
||||
|
||||
@ -93,6 +94,7 @@ def entra_callback(request):
|
||||
else:
|
||||
auth_log.info(f"Registering {user_name} with OID {user_oid}")
|
||||
u = UserManager.create_user(user_name, user_email, None, uuid=user_oid, is_active=True)
|
||||
registered = True
|
||||
|
||||
auth_log.info(f"User {user_name} {'(admin) ' if u.is_superuser else ''}with OID {user_oid} successfully logged in as {u.username} from {get_remote_address(request)}")
|
||||
login(request, u)
|
||||
@ -132,6 +134,17 @@ def entra_callback(request):
|
||||
g.user_member.remove(u)
|
||||
auth_log.info(f"Login Group Sync: Removing {u.username} from Group {g.name} ({ uuid })")
|
||||
|
||||
if registered:
|
||||
# #72 make package secret if user is part of a secret group
|
||||
for id, name in s.ENTRA_SECRET_GROUPS.items():
|
||||
group = Group.objects.get(uuid=id)
|
||||
if group.user_member.contains(u):
|
||||
# User is eligible for secrete
|
||||
pack = u.default_package
|
||||
u.data_pool = group
|
||||
u.classification_level = u.Classification.SECRET
|
||||
u.save()
|
||||
|
||||
# EDIT END
|
||||
|
||||
return redirect(s.SERVER_URL) # Handle errors
|
||||
|
||||
Reference in New Issue
Block a user