Znalazłem naprawdę elastyczny framework bezpieczeństwa Apache Shiro. Pomyślnie zaimplementowałem uwierzytelnianie i autoryzację za pomocą Shiro.Kontrola dostępu na poziomie instancji w Apache Shiro
Jedną z atrakcyjnych funkcji architektury jest bezpieczeństwo oparte na instancjach. Właśnie skopiowałem przykład ze strony Shiro.
Następujące uprawnienia są przechowywane w bazie danych.
printer:query:lp7200
printer:print:epsoncolor
Poniższy kod sprawdza, czy dla danej instancji drukarki aktualny uwierzytelniony użytkownik ma pozwolenie czy nie.
if (SecurityUtils.getSubject().isPermitted("printer:query:lp7200") {
// Return the current jobs on printer lp7200
}
Moje pytanie brzmi: "Czy w ten sposób przechowywane są uprawnienia w bazie danych?" Czy istnieje lepszy sposób przechowywania uprawnień opartych na instancji?
Proszę dać mi znać.
Dzięki