|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sibvisions.rad.server.security.AbstractSecurityManager
public abstract class AbstractSecurityManager
The AbstractSecurityManager
is the base class for ISecurityManager
implementations
but it does not implement the security methods.
It supports security managers with important and usable methods.
Constructor Summary | |
---|---|
AbstractSecurityManager()
|
Method Summary | |
---|---|
static void |
addHiddenPackage(String pPackage)
Adds a package name to the hidden package list. |
void |
checkPassword(ISession pSession,
String pPassword)
Checks if a password is strength enough to be used. |
protected boolean |
comparePassword(IConfiguration pConfig,
String pPassword,
String pConfirmPassword)
Compares two passwords to be identical. |
static ISecurityManager |
createSecurityManager(ISession pSession)
Creates a new ISecurityManager for the given session. |
static ISecurityManager |
createSecurityManager(String pApplicationName)
Creates a new ISecurityManager for the given application. |
static String |
getEncryptedPassword(IConfiguration pConfig,
String pPassword)
Gets the password, encrypted with the algorithm specified in an application configuration. |
protected IPasswordValidator |
getPasswordValidator(IConfiguration pConfig)
Gets the password validator from an application configuration. |
static boolean |
isHiddenPackage(String pJavaName)
Checks if a class or package name is excluded through the hidden package list. |
static boolean |
isPasswordEncryptionEnabled(IConfiguration pConfig)
Checks if the password encryption is enabled. |
static Throwable |
prepareException(Throwable pException)
Hides the StackTraceElements of "com.sibvisions.rad.*" when the given exception is a SecurityException . |
static Throwable |
prepareException(Throwable pException,
boolean pForce)
Hides the StackTraceElements of "com.sibvisions.rad.*" when the given exception is a SecurityException . |
static void |
removeHiddenPackage(String pPackage)
Removes a package name from the hidden package list. |
protected void |
validatePassword(ISession pSession,
String pOldPassword,
String pNewPassword)
Validates a new password against an old password an uses a preconfigured password validator for checking the strength of the new password. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.sibvisions.rad.server.security.ISecurityManager |
---|
changePassword, getAccessController, logout, release, validateAuthentication |
Constructor Detail |
---|
public AbstractSecurityManager()
Method Detail |
---|
public void checkPassword(ISession pSession, String pPassword)
checkPassword
in interface IPasswordValidator
pSession
- the session which wants to change the passwordpPassword
- the new passwordprotected boolean comparePassword(IConfiguration pConfig, String pPassword, String pConfirmPassword) throws Exception
pConfig
- the application configurationpPassword
- base password (plain text)pConfirmPassword
- confirmation password (encrypted or plain text)
true
if the passwords are identical, otherwise false
Exception
- if the password encryption causes an errorprotected IPasswordValidator getPasswordValidator(IConfiguration pConfig)
pConfig
- the application configuration
IPasswordValidator
or null
if no validator is specifiedprotected void validatePassword(ISession pSession, String pOldPassword, String pNewPassword) throws Exception
pSession
- the session which changes the passwordpOldPassword
- the old/current passwordpNewPassword
- the new password
Exception
- if the password validation failed, e.g. old = new, new is not strength enough, ...public static String getEncryptedPassword(IConfiguration pConfig, String pPassword) throws Exception
pConfig
- the application configurationpPassword
- the plain text password
Exception
- if the encryption failspublic static boolean isPasswordEncryptionEnabled(IConfiguration pConfig)
/application/securitymanager/passwordalgorithm
contains an algorithm.
PLAIN is not interpreted as algorithm.
pConfig
- the application configuration
true
if the password should be encryptedpublic static ISecurityManager createSecurityManager(ISession pSession) throws Exception
ISecurityManager
for the given session.
pSession
- the session
Exception
- if the security manager is not set, the class was not found or the application is invalidpublic static ISecurityManager createSecurityManager(String pApplicationName) throws Exception
ISecurityManager
for the given application.
pApplicationName
- the name of the application
Exception
- if the security manager is not set, the class was not found or the application is invalidpublic static Throwable prepareException(Throwable pException)
SecurityException
. If ILogger.LogLevel.DEBUG
is enabled, the stack won't be
changed.
pException
- the occured exception
public static Throwable prepareException(Throwable pException, boolean pForce)
SecurityException
. If ILogger.LogLevel.DEBUG
is enabled, the stack won't be
changed, but it's possible to force changing.
pException
- the occured exceptionpForce
- force exception hiding
public static void addHiddenPackage(String pPackage)
pPackage
- the full qualified java package name e.g. com.sibvisionspublic static void removeHiddenPackage(String pPackage)
pPackage
- the full qualified java package naem e.g. com.sibvisionspublic static boolean isHiddenPackage(String pJavaName)
pJavaName
- the full qualified java class or package name e.g. com.sibvisions.rad.IPackageSetup
true
if the name contains a hidden package name
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |