Jak kontrolować dostęp i prawa w JSF?

Chciałbym kontrolować dostęp po zalogowaniu użytkownika w moim systemie.

Na przykład:

administrator : can add, delete and give rights to employee
employee : fill forms only
...

Więc wiedząc, które prawo ma użytkownik, sprawdzając bazę danych, chciałbym ograniczyć to, co ten użytkownik może zobaczyć i zrobić. Jest na to prosty sposób?

EDYTOWAĆ

@WebFilter("/integra/user/*")
public class LoginFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {    
        HttpServletRequest req = (HttpServletRequest) request;
        Authorization authorization = (Authorization) req.getSession().getAttribute("authorization");

        if (authorization != null && authorization.isLoggedIn()) {
            // User is logged in, so just continue request.
            chain.doFilter(request, response);
        } else {
            // User is not logged in, so redirect to index.
            HttpServletResponse res = (HttpServletResponse) response;
            res.sendRedirect(req.getContextPath() + "/integra/login.xhtml");
        }
    }

    // You need to override init() and destroy() as well, but they can be kept empty.


    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void destroy() {
    }
}

questionAnswers(1)

yourAnswerToTheQuestion