com.sibvisions.rad.server.security
Class NtlmDBSecurityManager

java.lang.Object
  extended by com.sibvisions.rad.server.security.AbstractSecurityManager
      extended by com.sibvisions.rad.server.security.DBSecurityManager
          extended by com.sibvisions.rad.server.security.NtlmDBSecurityManager
All Implemented Interfaces:
ISecurityManager, IPasswordValidator

public class NtlmDBSecurityManager
extends DBSecurityManager

The NtlmDBSecurityManager extends the DBSecurityManager and allows a client to authenticate with its domain credentials. This can be done automatically through the browser or manually through a user input. In both cases the user has to exist in the database. Without a valid username in the database, the user can't log on to the application.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.sibvisions.rad.server.security.DBSecurityManager
DBSecurityManager.DBAccessController
 
Field Summary
 
Fields inherited from class com.sibvisions.rad.server.security.DBSecurityManager
TABLE_AUTOLOGIN, TABLE_USERS, VIEW_ACCESSRULES
 
Constructor Summary
NtlmDBSecurityManager()
           
 
Method Summary
protected  boolean isNtlmAuthenticated(ISession pSession)
          Checks if the user was authenticated via ntlm.
protected  boolean isPasswordValid(ISession pSession, String pPassword)
          Checks if the database password is valid or the user is authenticated via ntlm.
 void validateAuthentication(ISession pSession)
          Validates if a session has valid credentials to access an application.
 
Methods inherited from class com.sibvisions.rad.server.security.DBSecurityManager
changePassword, closeConnection, createAccessController, finalize, getAccessController, getConnection, getConnection, getCredentials, getCredentials, initStatements, isActive, isChangePassword, isValid, logout, openConnection, release
 
Methods inherited from class com.sibvisions.rad.server.security.AbstractSecurityManager
addHiddenPackage, checkPassword, comparePassword, createSecurityManager, createSecurityManager, getEncryptedPassword, getPasswordValidator, isHiddenPackage, isPasswordEncryptionEnabled, prepareException, prepareException, removeHiddenPackage, validatePassword
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NtlmDBSecurityManager

public NtlmDBSecurityManager()
Method Detail

validateAuthentication

public void validateAuthentication(ISession pSession)
                            throws Exception
Validates if a session has valid credentials to access an application.

Specified by:
validateAuthentication in interface ISecurityManager
Overrides:
validateAuthentication in class DBSecurityManager
Parameters:
pSession - the session which needs access
Throws:
Exception - if the access is denied (invalid username or password, password needs to be changed, ...)

isPasswordValid

protected boolean isPasswordValid(ISession pSession,
                                  String pPassword)
                           throws Exception
Checks if the database password is valid or the user is authenticated via ntlm.

Overrides:
isPasswordValid in class DBSecurityManager
Parameters:
pSession - the session which needs access
pPassword - the confirmation password (encrypted or plain text)
Returns:
true if the user password is valid
Throws:
Exception - if the password validation failed (e.g. encryption problems)

isNtlmAuthenticated

protected boolean isNtlmAuthenticated(ISession pSession)
Checks if the user was authenticated via ntlm. In that case, the connection can be established.

Parameters:
pSession - the session which needs access
Returns:
true if the user was authenticated via ntlm, false otherwise


Copyright © 2009 SIB Visions GmbH. All Rights Reserved.