Może mi ktoś wyjaśnić kwestię zabezpieczenia aplikacji w JEE 7 ? O ile w Spring Security jest to dosyć przejrzyste to w JEE mam pewne problemy jak dobrze to zrobić. Spring nie zależy od serwera aplikacyjnego bo jak wiem JEE jest specyfikacją i każdy serwer implementuje ją po swojemu o ile ją w całości implementuje ( ͡°͜ʖ͡°).
Robiąc w Springu prostą autentykację i autoryzację w oparciu o dane zapisane w relacyjnej bazie jesteśmy w jakiś sposób uzależnieni od jej schematu czyli relacji i ich powiązań.
Korzystając oczywiście z ORMa (Hibernate) mamy zazwyczaj takie klasy(encje/tabele):
User 1-------------N UserRoles N----------------1 Roles
Wiadomo klasa User implementuje wymagany interfejs UserDetails , w pliku xml definiujemy resztę np: stronę logowania ścieżki url pod jakie możemy się dostać z daną rolą lub bez niej sesje filtry itp itp itp. To jest oczywiste, dzięki temu nazwijmy to nasza polityka bezpieczeństwa jest "przenośna" = nie zależy od danego serwera aplikacji, bo Spring Security korzysta z Servlet API.
Pytanie jak to zrobić w JEE 7 z serwerem WildFly 8.2 Korzystam z Hibernate - wiadomo - jboss, JSF, EJB 3
Czy mogę tak samo jak w Springu zrobić odpowiedni model w bazie użytkownicy role itp?
@cajar: To nie jest pytanie na moją odpowiedź. Jak mam model konceptualny bazy i mam User N ----------- N Roles to co się w modelu fizycznym dzieje ?
Po stronie Hibernate (klas w JAvie jak tam sobie to nazwiesz) moge miec : Klase User i klase Roles i dac manytomany i nie miec klasy UserRoles w kodzie lub zrobic to inaczej mieć 3 klasy i tak jak wyżej napisałem ...
@JavaEngineer: IMHO źle do tego podchodzisz. To co jest w bazie nie musi, a nawet nie powinno w żaden sposób wpływać na kształt kodu. Użytkownika ma role, a role składają się z listy uprawnień. I tak powinno to być odwzorowane w kodzie. Czym wg Ciebie miała by być klasa UserRoles?
#jee
#pytaniedoeksperta
#spring
Może mi ktoś wyjaśnić kwestię zabezpieczenia aplikacji w JEE 7 ?
O ile w Spring Security jest to dosyć przejrzyste to w JEE mam pewne problemy jak dobrze to zrobić.
Spring nie zależy od serwera aplikacyjnego bo jak wiem JEE jest specyfikacją i każdy serwer implementuje ją po swojemu o ile ją w całości implementuje ( ͡° ͜ʖ ͡°).
Robiąc w Springu prostą autentykację i autoryzację w oparciu o dane zapisane w relacyjnej bazie jesteśmy w jakiś sposób uzależnieni od jej schematu czyli relacji i ich powiązań.
Korzystając oczywiście z ORMa (Hibernate) mamy zazwyczaj takie klasy(encje/tabele):
User 1-------------N UserRoles N----------------1 Roles
Wiadomo klasa User implementuje wymagany interfejs UserDetails , w pliku xml definiujemy resztę np:
stronę logowania
ścieżki url pod jakie możemy się dostać z daną rolą lub bez niej
sesje
filtry
itp itp itp.
To jest oczywiste, dzięki temu nazwijmy to nasza polityka bezpieczeństwa jest "przenośna" = nie zależy od danego serwera aplikacji, bo Spring Security korzysta z Servlet API.
Pytanie jak to zrobić w JEE 7 z serwerem WildFly 8.2
Korzystam z Hibernate - wiadomo - jboss,
JSF, EJB 3
Czy mogę tak samo jak w Springu zrobić odpowiedni model w bazie użytkownicy role itp?
źródło: comment_mLxELXQWjfhs7kgdEyek5mNVxTMaE1vW.jpg
PobierzJak mam model konceptualny bazy i mam User N ----------- N Roles to co się w modelu fizycznym dzieje ?
Po stronie Hibernate (klas w JAvie jak tam sobie to nazwiesz) moge miec :
Klase User i klase Roles i dac manytomany i nie miec klasy UserRoles w kodzie lub
zrobic to inaczej mieć 3 klasy i tak jak wyżej napisałem ...
http://www.mkyong.com/spring-security/spring-security-hibernate-annotation-example/
Tak jak w modelu relacyjnym konceptualnym masz User N-N Roles to w fizycznym powstaje tabela - asocjacyjna tak ?
http://chomikuj.pl/finka15/WAT/semestr+III/Bazy+danych/Bazy+danych_L2,2624910304.pptx slajd 16-17 jakbyś nie wiedział OCB.
To nadal nie jest odpowiedź na moje pytanie ...