#single-sign-on #cas #jasig #apereo
#единый вход #кас #джасиг #аперео #cas #jasig #apereo
Вопрос:
В нашем защищенном приложении Apereo CAS 5.3.8 нам нужно отобразить после входа в систему экран, который показывает выпадающий список с некоторыми значениями, из которых пользователь должен выбрать один вариант. Экран должен отображаться только при соблюдении определенных условий, в зависимости от некоторых пользовательских атрибутов. В некоторых сценариях все необходимые нам атрибуты загружаются после входа в систему, но в других случаях нам нужно загрузить дополнительные в зависимости от выбора пользователя. Затем пользовательский выбор должен быть преобразован в некоторые другие пользовательские атрибуты, которые мы хотим сохранить в утверждении CAS, чтобы клиентское приложение могло получать доступ к пользовательским атрибутам и принимать решения на основе этих атрибутов.
Для отображения этого дополнительного экрана мы создали пользовательский многофакторный поставщик. Загруженные атрибуты передаются в PrincipalFactory
реализацию.
Почти все работает нормально, за исключением той части, которая происходит после выбора пользователем из выпадающего списка. Вопрос в том, как я могу загрузить основные атрибуты в два этапа? Я попытался обновить объекты principal
и authentication
в моем пользовательском действии, которое запускается после выбора пользователя, но это не работает, он всегда сохраняет старого участника с атрибутами, загруженными сразу после входа в систему.
Я думаю, что проблема может быть связана с тем, что атрибуты передаются в PrincipalFactory
и, вероятно, они записываются только один раз и становятся неизменяемыми. Я пытался использовать AuthenticationTransactionManager
и a AuthenticationResultBuilder
, но не смог добавить дополнительные вычисляемые атрибуты.
Любое руководство было бы высоко оценено.
Комментарии:
1. A смотрите тег
jasig
Я думаю, что вы не используете последнюю версию CAS, тогда какую версию CAS вы используете? CAS 3? CAS 4?2. это Apereo CAS 5.3.8
3. О, тогда я предлагаю добавить тег
apereo
, этот проект больше не поддерживаетсяjasig
. Также было бы неплохо, если бы к вопросу была добавлена версия CAS.4. Знаете ли вы об этом ? Я не эксперт cas, но я настроил released principal, правда, не в два этапа. Решением может быть создание файла cookie для вашего пользовательского действия после выбора из выпадающего списка, а затем чтение этого файла cookie в службе.
5. да, я знаю о выпуске атрибута, я уже делаю это. однако мне нужно сделать это дважды и добавить атрибуты, относящиеся ко второму шагу, поверх ранее загруженных.