Jak zintegrować użytkownika LDAP z tabelą PERSON stworzoną przez Spring Security w Grails?

Tworzymy aplikację Grails, w której chcemy, aby użytkownik logował się przy użyciu swoich poświadczeń Active Directory. Dodatkowo chcemy dać właścicielowi biznesowemu tej aplikacji możliwość kontrolowania, kto ma dostęp do określonych linków (działań). Z tego powodu używamy następujących wtyczek w naszej aplikacji Grails:

Spring Security CoreSpring Security LDAPSpring Security UI

Ponieważ chcemy umożliwić użytkownikowi biznesowemu tworzenie dostosowanych ról z określonymi uprawnieniami (czynnościami) w razie potrzeby, uważamy, że najlepszą konfiguracją zabezpieczeń Spring jestPodejście oparte na bazie danych requestmap

Do tej pory osiągnęliśmy następujące wyniki:

Możemy pomyślnie uwierzytelnić się w usłudze Active Directory.Udało nam się również utworzyć różne mapowania żądań dla różnych ról (ROLE_XXX) za pośrednictwem interfejsu UI wtyczki spring-security-ui

Problemy / pytania

Spring-core-plugin tworzył następujące tabele:

OSOBAAUTORYTETPERSON_AUTHORITYŻĄDANIE

Są to tabele, które obsługują tworzenie ról, przypisywanie adresów URL do ról. Jednak tabela Person_Authoritity, jak wskazuje nazwa konwencji, ma wiele do wielu relacji między OSOBĄ a UPRAWNIENIEM (ROLĄ), ponieważ osoba może potencjalnie mieć więcej niż jedną rolę. Moim problemem jest to, że nie mam osoby, ponieważ osoba już istnieje w Active Directory (źródło zewnętrzne) i nie została utworzona w aplikacji.

Czy istnieje sposób, aby uwierzytelniony użytkownik był OSOBĄ? Sprężynowe rozwiązanie bezpieczeństwa wymaga wiersza lub obiektu osoby, ale wolisz się do niego odwoływać.

Zadałem również pytanie tutaj:

http://grails.1312388.n4.nabble.com/Issues-integrating-LDAP-Authentication-with-Requestmap-to-Secure-URLs-td4644040.html

Dzięki,

questionAnswers(1)

yourAnswerToTheQuestion