From 7dbaa28539a23c99586d087577964fb13ca809d8 Mon Sep 17 00:00:00 2001 From: jiangweidong Date: Wed, 30 Aug 2023 11:28:17 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3CAS=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E7=99=BB=E9=99=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/jumpserver/conf.py | 4 +-- .../0009_alter_cas_username_attribute.py | 32 +++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 apps/settings/migrations/0009_alter_cas_username_attribute.py diff --git a/apps/jumpserver/conf.py b/apps/jumpserver/conf.py index 60d665a04..718f8fe7e 100644 --- a/apps/jumpserver/conf.py +++ b/apps/jumpserver/conf.py @@ -333,9 +333,9 @@ class Config(dict): 'CAS_ROOT_PROXIED_AS': 'https://example.com', 'CAS_LOGOUT_COMPLETELY': True, 'CAS_VERSION': 3, - 'CAS_USERNAME_ATTRIBUTE': 'uid', + 'CAS_USERNAME_ATTRIBUTE': 'cas:user', 'CAS_APPLY_ATTRIBUTES_TO_USER': False, - 'CAS_RENAME_ATTRIBUTES': {'uid': 'username'}, + 'CAS_RENAME_ATTRIBUTES': {'cas:user': 'username'}, 'CAS_CREATE_USER': True, 'AUTH_SSO': False, diff --git a/apps/settings/migrations/0009_alter_cas_username_attribute.py b/apps/settings/migrations/0009_alter_cas_username_attribute.py new file mode 100644 index 000000000..562da4950 --- /dev/null +++ b/apps/settings/migrations/0009_alter_cas_username_attribute.py @@ -0,0 +1,32 @@ +# Generated by Django 3.2.19 on 2023-06-30 10:37 +import json + +from django.db import migrations + + +def migrate_cas_setting(apps, schema_editor): + setting_model = apps.get_model('settings', 'Setting') + obj = setting_model.objects.filter(name='CAS_RENAME_ATTRIBUTES').first() + if obj: + try: + value = json.loads(obj.value) + except Exception: + print("Invalid telnet regex setting, skip") + return + + if value.pop('uid', None): + setting_model.objects.filter(name='CAS_USERNAME_ATTRIBUTE').update(value='"cas:user"') + value['cas:user'] = 'username' + obj.value = json.dumps(value) + obj.save() + + +class Migration(migrations.Migration): + + dependencies = [ + ('settings', '0008_alter_setting_options'), + ] + + operations = [ + migrations.RunPython(migrate_cas_setting), + ] From 2a5c635dc58b0f963ee494eded52430148bc4034 Mon Sep 17 00:00:00 2001 From: jiangweidong Date: Wed, 30 Aug 2023 11:32:54 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/settings/migrations/0009_alter_cas_username_attribute.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/settings/migrations/0009_alter_cas_username_attribute.py b/apps/settings/migrations/0009_alter_cas_username_attribute.py index 562da4950..7e5ba7428 100644 --- a/apps/settings/migrations/0009_alter_cas_username_attribute.py +++ b/apps/settings/migrations/0009_alter_cas_username_attribute.py @@ -11,7 +11,7 @@ def migrate_cas_setting(apps, schema_editor): try: value = json.loads(obj.value) except Exception: - print("Invalid telnet regex setting, skip") + print("Invalid CAS_RENAME_ATTRIBUTES setting, skip") return if value.pop('uid', None):