Как управлять правами в Java EE
Я должен реализовать веб-приложение с Java EE, которое имеет разных типов пользователей с разными правами на доступные функции, данные и файлы.
Я никогда не делал этого раньше, и я ожидал, что для этого будет существовать стандарт Java EE, но я пока не нашел ничего полезного.
Какова наилучшая практика для реализации веб-приложения Java EE с различными правами доступа, и особенно, как я могу управлять / осуществлять выборочную загрузку файлов на основе прав в моем веб-приложении?
2 ответа
Стандартный способ сделать это - использовать Realms ( http://docs.oracle.com/javaee/6/tutorial/doc/bnbxj.html).
Это обеспечит вас как механизмами аутентификации, так и механизмами авторизации, с хорошими аннотациями для простого украшения ваших классов обслуживания.
Другим первоклассным претендентом является Spring Security ( http://projects.spring.io/spring-security/). Я не рекомендовал бы, если вы планируете перейти на простой Java EE, хотя.
Это вы можете сделать как обычная проверка входа в систему, когда пользователю предоставляются определенные права. Управляйте этой информацией из базы данных, используя, например, флаг, право доступа, прикрепленное к пользователю, или пользовательскую категорию.
При попытке получить доступ к странице или функции, пользовательский доступ, указанный в базе данных, проверяется, и пользователю либо запрещается, либо предоставляется доступ.