
com.jpattern.gwt.client.security.SecurityContext Maven / Gradle / Ivy
package com.jpattern.gwt.client.security;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author cinafr
*
*/
public class SecurityContext extends ASecurityContext {
private IUserSession userSession = new UserSession("", false);
private List observers = new ArrayList();
@Override
public boolean isUserInRole(String roleName) {
if (roleName==null) {
return false;
}
return getUserSession().getRoles().contains(roleName);
}
@Override
public boolean isUserInRole(List roles) {
if (roles==null) {
return false;
}
return isUserInRole(roles.toArray(new String[roles.size()]));
}
@Override
public boolean isUserInRole(String[] roles) {
if (roles==null) {
return false;
}
boolean userAllowed = true;
IUserSession userSession = getUserSession();
if ( roles.length>0 ) {
userAllowed = false;
for ( String roleAllowed : roles) {
if (userSession.getRoles().contains(roleAllowed)) {
userAllowed = true;
break;
}
}
}
return userAllowed;
}
@Override
public boolean isUserValid() {
return getUserSession().isValid();
}
@Override
public IUserSession getUserSession() {
return userSession;
}
@Override
public void setUserSession(IUserSession userSession) {
if (userSession!=null) {
this.userSession = userSession;
notifyObservers();
}
}
@Override
public void addObserver(ISecurityContextObserver observer) {
observers.add(observer);
}
@Override
public void removeObserver(ISecurityContextObserver observer) {
observers.remove(observer);
}
private void notifyObservers() {
for (ISecurityContextObserver observer : observers) {
observer.ondUserSessionChange();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy