KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > security > ejb > StatelessSessionBean


1 /*
2   * JBoss, Home of Professional Open Source
3   * Copyright 2005, JBoss Inc., and individual contributors as indicated
4   * by the @authors tag. See the copyright.txt in the distribution for a
5   * full listing of individual contributors.
6   *
7   * This is free software; you can redistribute it and/or modify it
8   * under the terms of the GNU Lesser General Public License as
9   * published by the Free Software Foundation; either version 2.1 of
10   * the License, or (at your option) any later version.
11   *
12   * This software is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15   * Lesser General Public License for more details.
16   *
17   * You should have received a copy of the GNU Lesser General Public
18   * License along with this software; if not, write to the Free
19   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21   */

22 package org.jboss.test.security.ejb;
23
24 import java.rmi.RemoteException JavaDoc;
25 import java.security.Principal JavaDoc;
26 import javax.ejb.CreateException JavaDoc;
27 import javax.ejb.EJBException JavaDoc;
28 import javax.ejb.SessionBean JavaDoc;
29 import javax.ejb.SessionContext JavaDoc;
30
31 /** A simple session bean for testing declarative security.
32
33 @author Scott.Stark@jboss.org
34 @version $Revision: 58115 $
35 */

36 public class StatelessSessionBean implements SessionBean JavaDoc
37 {
38    org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(getClass());
39    
40     private SessionContext JavaDoc sessionContext;
41
42     public void ejbCreate() throws CreateException JavaDoc
43     {
44         log.debug("ejbCreate() called");
45     }
46
47     public void ejbActivate()
48     {
49         log.debug("ejbActivate() called");
50     }
51
52     public void ejbPassivate()
53     {
54         log.debug("ejbPassivate() called");
55     }
56
57     public void ejbRemove()
58     {
59         log.debug("ejbRemove() called");
60     }
61
62     public void setSessionContext(SessionContext JavaDoc context)
63     {
64         sessionContext = context;
65     }
66
67     public String JavaDoc echo(String JavaDoc arg)
68     {
69         log.debug("echo, arg="+arg);
70         Principal JavaDoc p = sessionContext.getCallerPrincipal();
71         log.debug("echo, callerPrincipal="+p);
72         boolean isCaller = sessionContext.isCallerInRole("EchoCaller");
73         log.debug("echo, isCallerInRole('EchoCaller')="+isCaller);
74         if( isCaller == false )
75             throw new SecurityException JavaDoc("Caller does not have EchoCaller role");
76         return arg;
77     }
78     public String JavaDoc forward(String JavaDoc echoArg)
79     {
80         log.debug("forward, echoArg="+echoArg);
81         return echo(echoArg);
82     }
83
84     public void noop()
85     {
86         log.debug("noop");
87     }
88     public void npeError()
89     {
90         log.debug("npeError");
91         Object JavaDoc obj = null;
92         obj.toString();
93     }
94
95     public void unchecked()
96     {
97         Principal JavaDoc p = sessionContext.getCallerPrincipal();
98         log.debug("unchecked, callerPrincipal="+p);
99     }
100
101     public void excluded()
102     {
103         throw new EJBException JavaDoc("excluded, no access should be allowed");
104     }
105
106 }
107
Popular Tags