/** * */ package org.minnal.security; import javax.ws.rs.core.SecurityContext; import org.minnal.security.auth.Authorizer; import org.minnal.security.auth.User; import org.minnal.security.filter.AuthenticationFilter; import org.minnal.security.session.Session; import org.pac4j.core.profile.UserProfile; /** * @author ganeshs * */ public class MinnalSecurityContext implements SecurityContext { private Authorizer authorizer; private Session session; /** * @param authorizer * @param session */ public MinnalSecurityContext(Authorizer authorizer, Session session) { this.authorizer = authorizer; this.session = session; } @Override public User getUserPrincipal() { UserProfile profile = session.getAttribute(AuthenticationFilter.PRINCIPAL); if (profile != null) { return new User(profile); } return null; } @Override public boolean isUserInRole(String role) { return authorizer.authorize(getUserPrincipal(), role); } @Override public boolean isSecure() { return false; } @Override public String getAuthenticationScheme() { return null; } }