Compoze Software, Inc.

portlets.compoze.groupware.c13n
Class BEALoginDominoAccountListener

java.lang.Object
  extended byportlets.compoze.groupware.c13n.DefaultAccountListener
      extended byportlets.compoze.groupware.c13n.BEALoginDominoAccountListener
All Implemented Interfaces:
AccountListener, java.io.Serializable

public class BEALoginDominoAccountListener
extends DefaultAccountListener
implements java.io.Serializable

This class represents a Domino account listener for handling SSO with the BEA Portal Username and Password being the same as the IBM Domino Username and Password respectively. Modifications to the LoginBacking file is necessary as well to obtain the BEA Portal Password.

Code is for example purpose.

See Also:
Serialized Form

Constructor Summary
BEALoginDominoAccountListener()
           
 
Method Summary
 ConnectionPropertyValue[] getAdditionalConnectionPropertyValues(javax.servlet.http.HttpSession httpSession, GroupwareSession groupwareSession, javax.servlet.http.HttpServletRequest request, Account account, com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper)
          Invoked when getting additional account property values.
 ConnectionPropertyValue[] getConnectionPropertyValues(javax.servlet.http.HttpSession session, com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper, Account account, ConnectionPropertyValue[] values)
          Invoked when getting account property values.
 portlets.compoze.groupware.controls.provider.Provider getDefaultProvider()
          Invoked when checking for the default provider.
 java.lang.String getRequiredAccountName(javax.servlet.http.HttpSession session, com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper)
          Gets the name of the required account.
 boolean isAccountRequired(javax.servlet.http.HttpSession session, com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper)
          Checks if at least one account is required.
 boolean isConfigurable()
          Invoked when checking if users can configure accounts.
 boolean isPropertyModifiable(ConnectionProperty connProp)
          Invoked when checking if the connection property is modifiable.
 boolean isPropertyRequired(ConnectionProperty connProp)
          Invoked when checking if the connection property is required.
 boolean supportsMultipleAccounts()
          Invoked when checking if multiple accounts are supported.
 
Methods inherited from class portlets.compoze.groupware.c13n.DefaultAccountListener
appendConnectionPropertyValue, appendConnectionPropertyValues, decodeValue, dumpConnectionPropertyValues, encodeValue, getAccountListener, getConnectionPropertyValue, getDefaultConnectionPropertyValues, isPasswordEncrypted, setConnectionPropertyValues
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BEALoginDominoAccountListener

public BEALoginDominoAccountListener()
Method Detail

isPropertyModifiable

public boolean isPropertyModifiable(ConnectionProperty connProp)
Invoked when checking if the connection property is modifiable.

Specified by:
isPropertyModifiable in interface AccountListener
Overrides:
isPropertyModifiable in class DefaultAccountListener
Parameters:
connProp - the connection property
Returns:
true if the connection property is modifiable; false otherwise

To enable the BEA portal Single-Sign-On (SSO), the connection properties for a user should be resolved at login time.

For SSO, all connection properties could be made unmodifiable. If user is not allowed to configure the account (see # isConfigurable), then user will not be able to view the connection properties in the portal even if the property is modifiable.

If you don't want to persist the connection properties and values of a groupware account, you can make the property unmodifiable.


isPropertyRequired

public boolean isPropertyRequired(ConnectionProperty connProp)
Invoked when checking if the connection property is required.

Specified by:
isPropertyRequired in interface AccountListener
Overrides:
isPropertyRequired in class DefaultAccountListener
Parameters:
connProp - the connection property
Returns:
true if the connection property is required; false otherwise

Connection required to establish a connection to the Domino service include:

  1. Username
  2. Password
  3. Domino service URL (hostname)

Connection not required to establish a connection to the Domino service include:

  1. Domino service version check: default to the true
  2. Domino lookup server
  3. Domino mailbox
  4. Domino proxy URL
  5. Domino proxy username
  6. Domino proxy password


supportsMultipleAccounts

public boolean supportsMultipleAccounts()
Invoked when checking if multiple accounts are supported.

Specified by:
supportsMultipleAccounts in interface AccountListener
Overrides:
supportsMultipleAccounts in class DefaultAccountListener
Returns:
true if multiple accounts are supported; false otherwise

In case of SSO, a BEA portal user will be mapped to only one Domino account. Therefore multiple acounts are not supported.


isConfigurable

public boolean isConfigurable()
Invoked when checking if users can configure accounts.

Specified by:
isConfigurable in interface AccountListener
Overrides:
isConfigurable in class DefaultAccountListener
Returns:
true if accounts are configurable; false otherwise

In case of SSO, user is not allowed to configure the account.


getDefaultProvider

public portlets.compoze.groupware.controls.provider.Provider getDefaultProvider()
Invoked when checking for the default provider.

Specified by:
getDefaultProvider in interface AccountListener
Overrides:
getDefaultProvider in class DefaultAccountListener
Returns:
the default provider

Domino service is required groupware provider.


getConnectionPropertyValues

public ConnectionPropertyValue[] getConnectionPropertyValues(javax.servlet.http.HttpSession session,
                                                             com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper,
                                                             Account account,
                                                             ConnectionPropertyValue[] values)
                                                      throws GroupwareException
Invoked when getting account property values.

Specified by:
getConnectionPropertyValues in interface AccountListener
Overrides:
getConnectionPropertyValues in class DefaultAccountListener
Parameters:
session - the http session (may not be null)
userProfileWrapper - the user profile (may not be null)
account - the account (may not be null)
values - an array of connection property values
Returns:
an array of connection property values

Connection property values are obtained to initialize or create a session for a groupware account. The connection property values belongs to the account passed to this method.

The connection property values passed to this method could be re-processed here. The returned connection property value could also be obtained from the portal through the user profile wrapper. They could also be extracted from a file, database, network resources or any persistent storage.

In case of SSO, it is not necessary to persist the general connection property values.

Throws:
GroupwareException

isAccountRequired

public boolean isAccountRequired(javax.servlet.http.HttpSession session,
                                 com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper)
                          throws GroupwareException
Checks if at least one account is required.

Specified by:
isAccountRequired in interface AccountListener
Overrides:
isAccountRequired in class DefaultAccountListener
Parameters:
session - the http session (may not be null)
userProfileWrapper - the user profile (may not be null)
Returns:
true if an account is required; false otherwise

At least one groupware account is required for a user to use the groupware portlet. Without one account, user will not be able to establish a groupware session and then a connection to the Domino service.

Throws:
GroupwareException

getRequiredAccountName

public java.lang.String getRequiredAccountName(javax.servlet.http.HttpSession session,
                                               com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper)
                                        throws GroupwareException
Gets the name of the required account.

Specified by:
getRequiredAccountName in interface AccountListener
Overrides:
getRequiredAccountName in class DefaultAccountListener
Parameters:
session - the http session (may not be null)
userProfileWrapper - the user profile (may not be null)
Returns:
the account name (may not be null)
Throws:
GroupwareException
See Also:

SSO - only one groupware account is required and only one groupware account is supported. The account properties (account name, service provider name, etc.) will be persisted.


getAdditionalConnectionPropertyValues

public ConnectionPropertyValue[] getAdditionalConnectionPropertyValues(javax.servlet.http.HttpSession httpSession,
                                                                       GroupwareSession groupwareSession,
                                                                       javax.servlet.http.HttpServletRequest request,
                                                                       Account account,
                                                                       com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper)
                                                                throws GroupwareException
Invoked when getting additional account property values.

Specified by:
getAdditionalConnectionPropertyValues in interface AccountListener
Overrides:
getAdditionalConnectionPropertyValues in class DefaultAccountListener
Parameters:
httpSession - the http session (may not be null)
groupwareSession - the groupware session (may not be null)
account - the grouwpware account for which to retrieve additional property values (may not be null)
userProfileWrapper - the user profile (may not be null)
Returns:
an array of connection property values or an empty array
Throws:
GroupwareException

Compoze Software, Inc.

Copyright ©1999-2003 Compoze Software, Inc. All rights reserved.