01: /***************************************************************
02: * This file is part of the [fleXive](R) project.
03: *
04: * Copyright (c) 1999-2008
05: * UCS - unique computing solutions gmbh (http://www.ucs.at)
06: * All rights reserved
07: *
08: * The [fleXive](R) project is free software; you can redistribute
09: * it and/or modify it under the terms of the GNU General Public
10: * License as published by the Free Software Foundation;
11: * either version 2 of the License, or (at your option) any
12: * later version.
13: *
14: * The GNU General Public License can be found at
15: * http://www.gnu.org/copyleft/gpl.html.
16: * A copy is found in the textfile GPL.txt and important notices to the
17: * license from the author are found in LICENSE.txt distributed with
18: * these libraries.
19: *
20: * This library is distributed in the hope that it will be useful,
21: * but WITHOUT ANY WARRANTY; without even the implied warranty of
22: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23: * GNU General Public License for more details.
24: *
25: * For further information about UCS - unique computing solutions gmbh,
26: * please see the company website: http://www.ucs.at
27: *
28: * For further information about [fleXive](R), please see the
29: * project website: http://www.flexive.org
30: *
31: *
32: * This copyright notice MUST APPEAR in all copies of the file!
33: ***************************************************************/package com.flexive.core.security;
34:
35: import javax.ejb.SessionContext;
36: import javax.security.auth.callback.Callback;
37: import javax.sql.DataSource;
38:
39: /**
40: * Flexive callback class.
41: * <p/>
42: * Underlying security services instantiate and pass a
43: * <code>FxCallback</code> to the <code>handle</code>
44: * method of a <code>CallbackHandler</code> to retrieve name information.
45: *
46: * @author Gregor Schober (gregor.schober@flexive.com), UCS - unique computing solutions gmbh (http://www.ucs.at)
47: * @version $Rev: 261 $
48: * @see javax.security.auth.callback.CallbackHandler
49: */
50: public class FxCallback implements Callback, java.io.Serializable {
51: private static final long serialVersionUID = -6475964749101506776L;
52:
53: private boolean takeOverSession = false;
54: private transient SessionContext sessionContext = null;
55: private transient DataSource dataSource = null;
56:
57: /**
58: * If takeOver is disabled the login attempt fails if a other session is already
59: * using the account. If enabled a other active session using the account is logged off,
60: * and the login succeeds.
61: *
62: * @return true if take over is enabled.
63: */
64: public boolean getTakeOverSession() {
65: return this .takeOverSession;
66: }
67:
68: /**
69: * Sets the takeOverSession option, see <code>getTakeOverSession()</code> for details.
70: *
71: * @param takeOver true or false
72: */
73: public void setTakeOverSession(boolean takeOver) {
74: this .takeOverSession = takeOver;
75: }
76:
77: public void setDataSource(DataSource ds) {
78: this .dataSource = ds;
79: }
80:
81: public void setSessionContext(SessionContext ctx) {
82: this .sessionContext = ctx;
83: }
84:
85: public DataSource getDataSource() {
86: return this .dataSource;
87: }
88:
89: public SessionContext getSessionContext() {
90: return this.sessionContext;
91: }
92:
93: }
|