1 package org.apache.beehive.wsm.axis.security.model; 2 3 22 23 import java.util.Collection ; 24 import java.util.Hashtable ; 25 import java.util.Map ; 26 27 import org.apache.commons.codec.digest.DigestUtils; 28 29 import org.apache.beehive.wsm.axis.security.User; 30 import org.apache.beehive.wsm.axis.security.Group; 31 import org.apache.beehive.wsm.axis.security.UserList; 32 import org.apache.beehive.wsm.axis.security.Role; 33 34 35 public class MemoryUserImpl implements User { 36 37 private String name; 38 private String password; 39 private boolean md5; 40 41 private Map <String ,Role> roles; 42 private Map <String ,Group> groups; 43 44 public MemoryUserImpl () 45 { 46 roles = new Hashtable <String ,Role>(); 47 groups = new Hashtable <String ,Group>(); 48 } 49 50 public void setName ( String name ) 51 { 52 this.name = name; 53 } 54 55 public String getName () 56 { 57 return name; 58 } 59 60 public void setPassword ( String password ) 61 { 62 this.password = password; 63 } 64 65 public String getPassword () 66 { 67 return password; 68 } 69 70 public void setMd5 ( boolean isMd5 ) 71 { 72 this.md5 = isMd5; 73 } 74 75 public boolean isMd5 () 76 { 77 return md5; 78 } 79 80 public boolean authenticate ( String password ) 81 { 82 try{ 83 if ( ( this.password == null ) && ( password == null ) ){ 84 return true; 86 } 87 88 if ( isMd5() ) 89 { 90 if ( this.password.equals( DigestUtils.md5Hex(password)) ) 92 return true; 93 } 94 else 95 { 96 if ( this.password.equals( password ) ) 97 return true; 98 } 99 }catch(NullPointerException npe){ 100 return false; 101 } 102 103 return false; 104 105 } 106 107 public void addGroup( Group group ) 108 { 109 groups.put(group.getName(), group); 110 } 111 112 public Group getGroup ( String group ) 113 { 114 return groups.get(group); 115 } 116 117 public Collection <Group> getGroups () 118 { 119 return groups.values(); 120 } 121 122 public void addRole( Role role ) 123 { 124 roles.put(role.getName(), role); 125 } 126 127 public Role getRole ( String role ) 128 { 129 return roles.get(role); 130 } 131 132 public Collection <Role> getRoles () 133 { 134 return roles.values(); 135 } 136 137 } 138 | Popular Tags |