Merge branch 'master' of https://git.bukova.info/repos/git/isspst
						commit
						a22be88e47
					
				@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.security;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.security.core.Authentication;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public interface Evaluator {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public boolean evaluate(Authentication authentication,
 | 
				
			||||||
 | 
								Object targetDomainObject, String permission);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.security;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Map;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class EvaluatorsHolder {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private Map<Class<?>, Evaluator> globalEvaluators;
 | 
				
			||||||
 | 
						private Map<Class<?>, Evaluator> specialEvaluators;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void setGlobalEvaluators(Map<Class<?>, Evaluator> globalEvaluators) {
 | 
				
			||||||
 | 
							this.globalEvaluators = globalEvaluators;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void setSpecialEvaluators(Map<Class<?>, Evaluator> specialEvaluators) {
 | 
				
			||||||
 | 
							this.specialEvaluators = specialEvaluators;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public Evaluator getForObject(Object object, boolean special) {
 | 
				
			||||||
 | 
							Map<Class<?>, Evaluator> evals;
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (special) {
 | 
				
			||||||
 | 
								evals = specialEvaluators;
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								evals = globalEvaluators;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							for (Class<?> key : evals.keySet()) {
 | 
				
			||||||
 | 
								if (key.equals(object.getClass())) {
 | 
				
			||||||
 | 
									return evals.get(key);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							for (Class<?> key : evals.keySet()) {
 | 
				
			||||||
 | 
								if (key.isAssignableFrom(object.getClass())) {
 | 
				
			||||||
 | 
									return evals.get(key);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return null;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,44 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.security;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.Constants;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Permission;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.PermissionType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.io.Serializable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
 | 
					import org.springframework.security.access.PermissionEvaluator;
 | 
				
			||||||
 | 
					import org.springframework.security.core.Authentication;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class IsPermissionEvaluator implements PermissionEvaluator {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private EvaluatorsHolder evalHolder;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public boolean hasPermission(Authentication authentication,
 | 
				
			||||||
 | 
								Object targetDomainObject, Object permission) {
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							Permission appPermission = null;
 | 
				
			||||||
 | 
							for (Permission p : Constants.SPECIAL_PERMISSIONS) {
 | 
				
			||||||
 | 
								if (p.getAuthority().equals(permission)) {
 | 
				
			||||||
 | 
									appPermission = p;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							Evaluator eval = evalHolder.getForObject(targetDomainObject, appPermission != null && appPermission.getType() != PermissionType.GLOBAL);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (eval != null) {
 | 
				
			||||||
 | 
								return eval.evaluate(authentication, targetDomainObject, (String)permission);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return false;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public boolean hasPermission(Authentication authentication,
 | 
				
			||||||
 | 
								Serializable targetId, String targetType, Object permission) {
 | 
				
			||||||
 | 
							return false;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,68 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.security;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.Constants;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Permission;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.PermissionType;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.RequirementBase;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Role;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.User;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Workgroup;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.workgroups.WorkgroupService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.security.core.Authentication;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class RequirementFilterEvaluator implements Evaluator {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						private WorkgroupService wgService;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public RequirementFilterEvaluator(WorkgroupService wgService) {
 | 
				
			||||||
 | 
							this.wgService = wgService;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public boolean evaluate(Authentication authentication,
 | 
				
			||||||
 | 
								Object targetDomainObject, String permission) {
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							RequirementBase req = (RequirementBase) targetDomainObject;
 | 
				
			||||||
 | 
							Workgroup reqWg;
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (!(authentication.getPrincipal() instanceof User)) {
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							User user = (User)authentication.getPrincipal();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							Permission appPermission = null;
 | 
				
			||||||
 | 
							for (Permission p : Constants.SPECIAL_PERMISSIONS) {
 | 
				
			||||||
 | 
								if (p.getAuthority().equals(permission)) {
 | 
				
			||||||
 | 
									appPermission = p;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (appPermission == null) {
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (appPermission.getType() == PermissionType.CENTRE) {
 | 
				
			||||||
 | 
								reqWg = req.getCentre();
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								reqWg = req.getWorkgroup();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (wgService.isMember(reqWg, user)) {
 | 
				
			||||||
 | 
								List<Role> roles = wgService.getUserWorkgroupRoles(reqWg, user);
 | 
				
			||||||
 | 
								for (Role r : roles) {
 | 
				
			||||||
 | 
									for (Permission p : r.getPermissions()) {
 | 
				
			||||||
 | 
										if (p.getAuthority().equals(appPermission.getAuthority())) {
 | 
				
			||||||
 | 
											return true;
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return false;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.security;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.Constants;
 | 
				
			||||||
 | 
					import info.bukova.isspst.Module;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Role;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.security.core.Authentication;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class ServiceEvaluator implements Evaluator {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@SuppressWarnings("unchecked")
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public boolean evaluate(Authentication authentication,
 | 
				
			||||||
 | 
							Object targetDomainObject, String permission) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							List<Role> roles = (List<Role>) authentication.getAuthorities();
 | 
				
			||||||
 | 
							String moduleId = "";
 | 
				
			||||||
 | 
							String perm = permission;
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							for (Module m : Constants.MODULES) {
 | 
				
			||||||
 | 
								if (m.getServiceClass() != null && m.getServiceClass().isAssignableFrom(targetDomainObject.getClass())) {
 | 
				
			||||||
 | 
									moduleId = m.getId();
 | 
				
			||||||
 | 
									break;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							perm += "_" + moduleId;
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							for (int i = 0; i < roles.size(); i++) {
 | 
				
			||||||
 | 
								if (!(roles.get(i) instanceof Role)) {
 | 
				
			||||||
 | 
									return false;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if (roles.get(i).getAuthority().equals(perm)) {
 | 
				
			||||||
 | 
									return true;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if (roles.get(i).getAuthority().equals(Constants.ROLE_ADMIN)) {
 | 
				
			||||||
 | 
									return true;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return false;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,71 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.security;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.Constants;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Permission;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.PermissionType;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Role;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.User;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Workgroup;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.workgroups.WorkgroupService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.security.core.Authentication;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class WorkgroupAwareServiceEvaluator implements Evaluator {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private WorkgroupService wgService;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public WorkgroupAwareServiceEvaluator(WorkgroupService wgService) {
 | 
				
			||||||
 | 
							this.wgService = wgService;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public boolean evaluate(Authentication authentication,
 | 
				
			||||||
 | 
								Object targetDomainObject, String permission) {
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							List<Workgroup> userWorkgroups;
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (!(authentication.getPrincipal() instanceof User)) {
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							User user = (User)authentication.getPrincipal();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							Permission appPermission = null;
 | 
				
			||||||
 | 
							for (Permission p : Constants.SPECIAL_PERMISSIONS) {
 | 
				
			||||||
 | 
								if (p.getAuthority().equals(permission)) {
 | 
				
			||||||
 | 
									appPermission = p;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (appPermission == null) {
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (appPermission.getType() == PermissionType.CENTRE) {
 | 
				
			||||||
 | 
								userWorkgroups = wgService.getUserCentres(user);
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								userWorkgroups = wgService.getUserWorkgroups(user);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							for (Workgroup wg : userWorkgroups) {
 | 
				
			||||||
 | 
								List<Role> wgRoles = wgService.getUserWorkgroupRoles(wg, user);
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								if (wgRoles == null) {
 | 
				
			||||||
 | 
									continue;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								for (Role r : wgRoles) {
 | 
				
			||||||
 | 
									for (Permission p : r.getPermissions()) {
 | 
				
			||||||
 | 
										if (p.getAuthority().equals(appPermission.getAuthority())) {
 | 
				
			||||||
 | 
											return true;
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return false;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,93 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.services.users;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.Constants;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Role;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.User;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.slf4j.Logger;
 | 
				
			||||||
 | 
					import org.slf4j.LoggerFactory;
 | 
				
			||||||
 | 
					import org.springframework.security.core.userdetails.AuthenticationUserDetailsService;
 | 
				
			||||||
 | 
					import org.springframework.security.core.userdetails.UserDetails;
 | 
				
			||||||
 | 
					import org.springframework.security.core.userdetails.UsernameNotFoundException;
 | 
				
			||||||
 | 
					import org.springframework.security.openid.OpenIDAttribute;
 | 
				
			||||||
 | 
					import org.springframework.security.openid.OpenIDAuthenticationToken;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class GmailUserService implements AuthenticationUserDetailsService<OpenIDAuthenticationToken> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private static final Logger logger = LoggerFactory.getLogger(GmailUserService.class); 
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						private UserService userService;
 | 
				
			||||||
 | 
						private RoleService roleService;
 | 
				
			||||||
 | 
						private String restrictDomain;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public GmailUserService(UserService userService, RoleService roleService) {
 | 
				
			||||||
 | 
							this.userService = userService;
 | 
				
			||||||
 | 
							this.roleService = roleService;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public UserDetails loadUserDetails(OpenIDAuthenticationToken token)
 | 
				
			||||||
 | 
								throws UsernameNotFoundException {
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							String email = null;
 | 
				
			||||||
 | 
							String firstName = null;
 | 
				
			||||||
 | 
							String lastName = null;
 | 
				
			||||||
 | 
							List<OpenIDAttribute> attributes = token.getAttributes();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							for (OpenIDAttribute attribute : attributes) {
 | 
				
			||||||
 | 
								if (attribute.getName().equals("email")) {
 | 
				
			||||||
 | 
									email = attribute.getValues().get(0);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if (attribute.getName().equals("firstName")) {
 | 
				
			||||||
 | 
									firstName = attribute.getValues().get(0);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if (attribute.getName().equals("lastName")) {
 | 
				
			||||||
 | 
									lastName = attribute.getValues().get(0);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							String userAndDomain[] = email.split("@");
 | 
				
			||||||
 | 
							String username = userAndDomain[0];
 | 
				
			||||||
 | 
							String domain = userAndDomain[1];
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (restrictDomain != null && !restrictDomain.isEmpty() && !restrictDomain.equals(domain)) {
 | 
				
			||||||
 | 
								logger.warn("Try to login from foreign domain");
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								throw new UsernameNotFoundException("Email from foreign domain");
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							UserDetails user;
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							try {
 | 
				
			||||||
 | 
								user = userService.loadUserByUsername(username);
 | 
				
			||||||
 | 
							} catch (UsernameNotFoundException e) {
 | 
				
			||||||
 | 
								logger.info("Username not found in database. Creating one");
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								User usr = new User();
 | 
				
			||||||
 | 
								usr.setUsername(username);
 | 
				
			||||||
 | 
								usr.setFirstName(firstName);
 | 
				
			||||||
 | 
								usr.setLastName(lastName);
 | 
				
			||||||
 | 
								usr.setEmail(email);
 | 
				
			||||||
 | 
								usr.setEnabled(true);
 | 
				
			||||||
 | 
								usr.setNotify(true);
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								Role role = roleService.getRoleByAuthority(Constants.ROLE_USER);
 | 
				
			||||||
 | 
								usr.addAuthority(role);
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								userService.grantAdmin();
 | 
				
			||||||
 | 
								userService.add(usr);
 | 
				
			||||||
 | 
								userService.removeAccess();
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								user = userService.loadUserByUsername(username);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return user;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void setRestrictDomain(String restrictDomain) {
 | 
				
			||||||
 | 
							this.restrictDomain = restrictDomain;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					gmail.restrictDomain=
 | 
				
			||||||
											
												Binary file not shown.
											
										
									
								
											
												Binary file not shown.
											
										
									
								@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					<beans xmlns="http://www.springframework.org/schema/beans"
 | 
				
			||||||
 | 
						xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
				
			||||||
 | 
						xmlns:security="http://www.springframework.org/schema/security"
 | 
				
			||||||
 | 
						xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 | 
				
			||||||
 | 
							http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<bean id="gmailUserService" class="info.bukova.isspst.services.users.GmailUserService">
 | 
				
			||||||
 | 
							<constructor-arg ref="userService"/>
 | 
				
			||||||
 | 
							<constructor-arg ref="roleService"/>
 | 
				
			||||||
 | 
							<property name="restrictDomain" value="${gmail.restrictDomain}"/>
 | 
				
			||||||
 | 
						</bean>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</beans>
 | 
				
			||||||
											
												Binary file not shown.
											
										
									
								| 
		 After Width: | Height: | Size: 7.6 KiB  | 
@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					<html
 | 
				
			||||||
 | 
						xmlns="native"
 | 
				
			||||||
 | 
						xmlns:u="zul"
 | 
				
			||||||
 | 
						xmlns:zk="zk">
 | 
				
			||||||
 | 
						<head>
 | 
				
			||||||
 | 
							<title>${labels.Loggingin}</title>
 | 
				
			||||||
 | 
						</head>
 | 
				
			||||||
 | 
						<body style="height: 100%; padding: 0 5px;">
 | 
				
			||||||
 | 
							<div style="height: 15%" />
 | 
				
			||||||
 | 
							<div align="center">
 | 
				
			||||||
 | 
								<u:include src="login.zul" />
 | 
				
			||||||
 | 
								<br/>
 | 
				
			||||||
 | 
								<img src="img/google.png" alt="Google"/>
 | 
				
			||||||
 | 
								<form action="j_spring_openid_security_check" method="post">
 | 
				
			||||||
 | 
									<input name="openid_identifier" type="hidden" value="https://www.google.com/accounts/o8/id"/>
 | 
				
			||||||
 | 
					   				<input type="submit" value="${labels.LoginViaGoogle}" class="nicebutton"/>
 | 
				
			||||||
 | 
								</form>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
					Loading…
					
					
				
		Reference in New Issue