Вопрос мой сводится к тому, могу ли я обновить претензии пользователя при переключении между приложениями? Из того, что я могу сказать, ответ скорее всего «нет». Я сделал танец, чтобы добавить «ClaimTypeRequired», но это не полезно.Требования к удостоверениям подлинности Windows Identity от AD FS
Скажем, у меня есть несколько приложений, App1, App2, App3, App4, App5.
Кажется, что AD FS не попадает снова, как только вы аутентифицированы любым приложением, и нет никакого способа обойти это, не выписывая, да? Поэтому с этим мышлением я должен получить все претензии для всех приложений, независимо от того, в каком приложении я вхожу. В качестве побочного примечания я создаю эти претензии через хранимую процедуру SQL из AD FS. usp_GetAppClaims @AppID = 1, @UserGuid = 'GUID'
Я сохраняю набор претензий для каждого приложения в соответствующем URI, который содержит несколько значений. Подобно заявлению «Роли». Например:
- http://schemas.MyCompany.com/identity/claims/App1
- Значение1
- Value2 - http://schemas.MyCompany.com/identity/claims/App2
- Значение1
- Value2
- Value3 - http://schemas.MyCompany.com/identity/claims/App3
- http://schemas.MyCompany.com/identity/claims/App4
- http://schemas.MyCompany.com/identity/claims/App5
Я делаю это сложнее, чем это должно быть? Я немного обеспокоен размером Token, если мне требуется, чтобы все претензии. 20 приложений, каждый с 10-50 претензиями ... 4kb Cookie max правильно? Возможно, это не имеет значения по большей части.
Поскольку я продолжаю изучать это, ClaimsAuthenticationManager может оказаться лучшим вариантом. Любой шанс, который вы получаете, может объяснить немного больше о вашей первой точке? – MisterIsaak
Если сервером ADFS является IdP (учетная запись находится в AD), вы можете запросить свой SQL в правиле преобразования Acceptance. Тогда заявки на все RP будут там (большие проблемы с токеном и т. Д.). Если вы делаете это только в правилах преобразования (для RP), то каждый RP имеет свой собственный набор требований. (Маленький печенье в ADFS, маленький cookie на RP.) – paullem
А теперь, я понимаю, о чем вы говорили. Спасибо за объяснение. – MisterIsaak