| 1 19 package org.lucane.webconnector.security; 20 21 import java.security.Principal ; 22 23 import org.lucane.common.ConnectInfo; 24 import org.lucane.common.crypto.MD5; 25 import org.lucane.server.ConnectInfoManager; 26 import org.lucane.server.Server; 27 import org.lucane.server.auth.AuthRequest; 28 import org.lucane.server.auth.AuthResponse; 29 import org.mortbay.http.HttpRequest; 30 import org.mortbay.http.UserRealm; 31 32 public class LucaneRealm implements UserRealm 33 { 34 private String host; 35 private String name; 36 private int port; 37 38 public LucaneRealm(String name, int port) 39 { 40 this.host = ConnectInfoManager.getInstance().getServerInfo().getHostName(); 41 this.name = name; 42 this.port = port; 43 } 44 45 public String getName() 46 { 47 return this.name; 48 } 49 50 public Principal getPrincipal(String user) 51 { 52 ConnectInfo info = new ConnectInfo(user, this.host, this.port, "nokey", "webclient"); 53 return new LucanePrincipal(user, info); 54 } 55 56 public Principal authenticate(String user, Object credentials, HttpRequest request) 57 { 58 LucanePrincipal lp = (LucanePrincipal)getPrincipal(user); 59 60 AuthRequest auth = new AuthRequest(lp.getInfo(), MD5.encode((String )credentials)); 61 AuthResponse response = Server.getInstance().getAuthenticator().authenticate(auth); 62 63 if(response.getValue() == AuthResponse.AUTH_ACCEPTED) 64 return lp; 65 return null; 66 } 67 68 public void logout(Principal user) 69 { 70 LucanePrincipal lp = (LucanePrincipal)user; 71 ConnectInfoManager.getInstance().removeConnectInfo(lp.getInfo()); 72 } 73 74 public boolean reauthenticate(Principal user) 75 { 76 return true; 77 } 78 79 public void disassociate(Principal arg0) 80 { 81 } 82 83 public boolean isUserInRole(Principal user, String role) 85 { 86 return false; 87 } 88 89 public Principal pushRole(Principal user, String role) 90 { 91 return user; 92 } 93 94 public Principal popRole(Principal user) 95 { 96 return user; 97 } 98 } | Popular Tags |