Piszę JACC
dostawcę.
Po drodze oznacza to wdrożenie pliku PolicyConfiguration
.
PolicyConfiguration
Jest odpowiedzialny za przyjmowanie informacji konfiguracyjnych z serwera aplikacji, takich jak uprawnienia, które przypadają na które role. Dzieje się tak, aby Policy
później mógł podejmować decyzje dotyczące autoryzacji po przekazaniu informacji o bieżącym użytkowniku i tym, co próbuje zrobić.
Jednak nie jest częścią PolicyConfiguration
(okropnego) kontraktu utrzymywanie mapowania między rolami i ich uprawnieniami, Principals
które są przypisane do tych ról.
Zazwyczaj - zawsze, naprawdę - to mapowanie jest przechowywane na serwerze aplikacji. Na przykład, na GlassFish, to wpływa to odwzorowanie poprzez dostarczanie rzeczy jak sun-web.xml
i sun-ejb-jar.xml
i tak dalej ze swoimi modułami Java EE. (Te pliki specyficzne dla dostawcy są odpowiedzialne za np. superusers
Określenie grupy, do której ma zostać przypisana rola aplikacji admins
).
Chciałbym ponownie wykorzystać funkcjonalność dostarczaną przez te pliki i chciałbym to zrobić dla jak największej liczby serwerów aplikacji.
Oto - całkowicie arbitralnie - podejście IBM do sprawy, które wydaje się potwierdzać moje podejrzenie, że to, co chcę zrobić, jest w zasadzie niemożliwe . (Więcej amunicji w moim przypadku, że ten konkretny kontrakt Java EE nie jest wart papieru, na którym jest wydrukowany.)
Moje pytanie: w jaki sposób uzyskać informacje o odwzorowaniu zasady na rolę w - na początek - Glassfish i JBoss z poziomu PolicyConfiguration
? Jeśli istnieje standardowy sposób na zrobienie tego, którego nie jestem świadomy, mam wszystkie uszy.
Because JSR-115 does not define how to address role mapping, WebLogic JACC classes are used for role-to-principal mapping.
Zobacz docs.oracle.com/cd/E24329_01/web.1211/e24485/ ...