1 /** 2 * JOnAS: Java(TM) Open Application Server 3 * Copyright (C) 1999 Bull S.A. 4 * Contact: jonas-team@objectweb.org 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 19 * USA 20 * 21 * Initial developer(s): ____________________________________. 22 * Contributor(s): Christophe Ney 23 * 24 * -------------------------------------------------------------------------- 25 * $Id: PrincipalFactoryImpl.java,v 1.3 2004/07/01 09:52:36 benoitf Exp $ 26 * -------------------------------------------------------------------------- 27 */ 28 29 package org.objectweb.jonas.container; 30 31 import org.objectweb.security.context.SecurityCurrent; 32 import org.objectweb.security.context.SecurityContext; 33 import org.objectweb.jonas_ejb.container.PrincipalFactory; 34 35 import java.security.Principal; 36 37 /** 38 * Defines an implementation of PrincipalFactory returning a Principal object 39 */ 40 public class PrincipalFactoryImpl implements PrincipalFactory { 41 42 /** 43 * @param inRunAs request comes from a runAs component ? 44 * @return a Principal object 45 */ 46 public Principal getCallerPrincipal(boolean inRunAs) { 47 SecurityCurrent current = SecurityCurrent.getCurrent(); 48 SecurityContext ctx = current.getSecurityContext(); 49 if (ctx == null) { 50 return null; 51 } 52 return ctx.getCallerPrincipal(inRunAs); 53 } 54 } 55