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);
|
}
|
|
}
|