Merge pull request #11461 from jumpserver/pr@dev@fix_cas_login_failed

fix: 解决CAS无法登陆问题
pull/11468/head
老广 2023-08-30 13:25:30 +08:00 committed by GitHub
commit e4e4f82143
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 2 deletions

View File

@ -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,

View File

@ -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 CAS_RENAME_ATTRIBUTES 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),
]