package com.megatim.apifdxweb.service.impl.filters; import com.megatim.apifdxweb.core.ifaces.administration.TokenGenerationManager; import com.megatim.apifdxweb.core.ifaces.administration.UserManager; import com.mgt.rs.security.core.common.Secured; import com.mgt.rs.security.core.filter.AuthenticationFilter; import javax.inject.Inject; import com.mgt.rs.security.core.ifaces.UserRsSecurity; import javax.annotation.Priority; import javax.enterprise.context.Dependent; import javax.ws.rs.Priorities; import javax.ws.rs.ext.Provider; import com.megatim.apifdxweb.model.administration.security.UserSecurity; import com.megatim.apifdxweb.model.administration.User; /** * * @author ASUS */ //@Secured @Provider @Dependent @Priority(Priorities.AUTHENTICATION) public class SecurityFilter extends AuthenticationFilter { /** * On injecte un Gestionnaire d'entites * */ @Inject private UserManager userManager; @Inject private TokenGenerationManager tokenGenerationManager; @Override public boolean applicationValidation(UserRsSecurity user, Secured secured) { return true; } @Override protected UserRsSecurity recuperUtilisateur(String userName) { UserSecurity userSecurity = null; User user = userManager.recuperUtilisateur(userName); if (user != null) { userSecurity = new UserSecurity(user); } return userSecurity; } @Override public boolean tokenIsValid(UserRsSecurity user, String token) { return tokenGenerationManager.isTokenCorrect(user.getUserName(), token); } }