|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.benow.security.SecurityAdministratorImpl
public abstract class SecurityAdministratorImpl
Class resposible for authentication of users. Descendants should implement the authenticate(String,String,String) method to perform authentication of users.
Security authentication, from an application programmer perspective is done via: SecurityFactory.getAdministrator().authenticate(name,pass);
Security| Field Summary | |
|---|---|
static java.lang.String |
adminName
|
| Fields inherited from interface org.benow.security.SecurityAdministrator |
|---|
DEFAULT_ADMIN_PASSWORD, DEFAULT_USER_NAME, REGISTERED_BOOTSTRAP, REGISTERED_USER_NAME |
| Constructor Summary | |
|---|---|
SecurityAdministratorImpl()
|
|
| Method Summary | |
|---|---|
void |
addListener(SecurityAdministratorListener listener)
protected abstract void validateAdministrator(String name, String password) throws SecurityException; |
User |
authenticate(java.lang.String userName,
java.lang.String password)
Authenticated user in default application |
User |
authenticate(java.lang.String app,
java.lang.String user,
java.lang.String password)
Authenticates user. |
Permission |
createPermission(java.lang.Class<?> prefix,
java.lang.String suffix)
|
abstract Permission |
createPermission(java.lang.Class<?> prefix,
java.lang.String suffix,
java.lang.String[] params)
|
Permission |
createPermission(java.lang.String name)
|
Role |
createRole(java.lang.Package pkg)
|
Role |
createRole(java.lang.String name)
Create a role with the given name |
abstract Role |
createRole(java.lang.String name,
java.lang.String description)
|
User |
createUser(java.lang.String name)
Creates a new user with the given name. |
protected abstract User |
createUser(java.lang.String name,
java.lang.String userPassword,
java.lang.String description)
|
Permission |
declarePermission(java.lang.Class<?> prefix,
java.lang.String suffix)
Override to persist permission |
Permission |
declarePermission(java.lang.Class<?> prefix,
java.lang.String suffix,
java.lang.String[] params)
|
Permission |
declarePermission(Permission perm)
Override to persist permission |
Permission |
declarePermission(java.lang.String name)
Creates a permission with the given name. |
void |
deleteUser(java.lang.String name)
Deletes the user with the given name |
protected abstract User |
doAuthenticate(java.lang.String app,
java.lang.String user,
java.lang.String password)
|
protected abstract User |
doCreateUser(java.lang.String name)
|
protected void |
doInit()
|
void |
ensureAdminRolePermissions(java.lang.Class<?> forClass,
java.lang.String[] permNames)
Ensures the existence of the given permissions within an appropriate admin role for the class. |
User |
getAdministratorUser()
|
protected abstract java.util.Collection<Role> |
getDeclaredRoles()
|
User |
getDefaultUser()
|
abstract Permission |
getPermissionFor(java.lang.String name,
java.lang.String value)
|
User |
getRegisteredTemplateUser()
|
Role |
getRole(java.lang.Package pkg)
Gets the admin role for the give pkg, creating if neccesary. |
Role |
getRole(java.lang.String name)
Gets the declared role of the given name. |
java.util.Collection<java.lang.Class<?>> |
getUserModuleClasses()
Gets the list of registered user module classes. |
void |
init()
Override to do something after instantiation |
void |
logout()
Logout user associated with current thread |
protected void |
notifyReload()
|
protected void |
onDeclare(Permission perm)
Override for goodness. |
void |
registerUserModuleClass(java.lang.Class<UserModule> moduleClass)
Registers a user module class that will be included in a user when a user is created |
User |
validateAdministrator()
Ensures the existence of an Administrator user having all declared roles (and hence permissions). |
protected abstract User |
validateAdministrator(java.lang.String name,
java.lang.String password)
|
void |
validateDeclaredRoles()
Ensures the existance of registered roles. |
User |
validateDefaultUser()
|
static Permission |
validatePermissionInRole(Role toAddTo,
java.lang.Class<?> permissionPrefix,
java.lang.String suffix)
Convenience method to add a permission to a role with the |
User |
validateRegisteredUser()
The roles/permissions of the registered user are copied over to newly created users. |
protected abstract void |
validateRoles(java.util.Collection<Role> roles)
|
void |
validateSecurity()
Validates DeclaredRoles and the Administrator user. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.benow.security.SecurityAdministrator |
|---|
deleteRole, deleteUser, doGetUserByEmail, getClassesWithPermissionsInPackage, getDefaultClassesWithPermissions, getPackageNamesWithPermissions, getPackageNamesWithPermissions, getPermissions, getPermissionsForClass, getRoles, getUserByModuleKey, getUserByName, getUserByRealmAndName, getUsers |
| Field Detail |
|---|
public static final java.lang.String adminName
| Constructor Detail |
|---|
public SecurityAdministratorImpl()
| Method Detail |
|---|
public static Permission validatePermissionInRole(Role toAddTo,
java.lang.Class<?> permissionPrefix,
java.lang.String suffix)
toAddTo - permissionPrefix - suffix -
public final void init()
throws java.lang.SecurityException
init in interface SecurityAdministratorjava.lang.SecurityExceptionprotected void doInit()
public Permission createPermission(java.lang.String name)
throws java.lang.SecurityException
createPermission in interface SecurityAdministratorjava.lang.SecurityException
public abstract Permission getPermissionFor(java.lang.String name,
java.lang.String value)
throws java.lang.SecurityException
getPermissionFor in interface SecurityAdministratorjava.lang.SecurityException
protected abstract java.util.Collection<Role> getDeclaredRoles()
throws java.lang.SecurityException
java.lang.SecurityExceptionpublic void registerUserModuleClass(java.lang.Class<UserModule> moduleClass)
SecurityAdministrator
registerUserModuleClass in interface SecurityAdministratorpublic Role getRole(java.lang.Package pkg)
getRole in interface SecurityAdministratorpkg -
public Role getRole(java.lang.String name)
throws NoSuchRoleException
getRole in interface SecurityAdministratorname -
NoSuchRoleException - on no role with given name
public void ensureAdminRolePermissions(java.lang.Class<?> forClass,
java.lang.String[] permNames)
throws java.lang.SecurityException
ensureAdminRolePermissions in interface SecurityAdministratorforClass - permNames -
java.lang.SecurityException
public void validateDeclaredRoles()
throws java.lang.SecurityException
validateDeclaredRoles in interface SecurityAdministratorjava.lang.SecurityException
protected abstract void validateRoles(java.util.Collection<Role> roles)
throws java.lang.SecurityException
java.lang.SecurityException
public User validateAdministrator()
throws java.lang.SecurityException
validateAdministrator in interface SecurityAdministratorjava.lang.SecurityException
protected abstract User validateAdministrator(java.lang.String name,
java.lang.String password)
throws java.lang.SecurityException
java.lang.SecurityException
public User validateDefaultUser()
throws java.lang.SecurityException
validateDefaultUser in interface SecurityAdministratorjava.lang.SecurityException
public User validateRegisteredUser()
throws java.lang.SecurityException
java.lang.SecurityException
public void validateSecurity()
throws java.lang.SecurityException
validateSecurity in interface SecurityAdministratorjava.lang.SecurityException - on Error during validation.validateDeclaredRoles(),
validateAdministrator()
public Role createRole(java.lang.Package pkg)
throws java.lang.SecurityException
createRole in interface SecurityAdministratorjava.lang.SecurityException
public Role createRole(java.lang.String name)
throws java.lang.SecurityException
SecurityAdministrator
createRole in interface SecurityAdministratorjava.lang.SecurityException
public abstract Role createRole(java.lang.String name,
java.lang.String description)
throws java.lang.SecurityException
createRole in interface SecurityAdministratorjava.lang.SecurityException
public Permission createPermission(java.lang.Class<?> prefix,
java.lang.String suffix)
createPermission in interface SecurityAdministrator
public abstract Permission createPermission(java.lang.Class<?> prefix,
java.lang.String suffix,
java.lang.String[] params)
throws java.lang.SecurityException
java.lang.SecurityExceptionpublic void addListener(SecurityAdministratorListener listener)
protected void notifyReload()
public final User authenticate(java.lang.String app,
java.lang.String user,
java.lang.String password)
throws java.lang.SecurityException
authenticate in interface SecurityAdministratorjava.lang.SecurityException
protected abstract User doAuthenticate(java.lang.String app,
java.lang.String user,
java.lang.String password)
throws java.lang.SecurityException
java.lang.SecurityExceptionpublic java.util.Collection<java.lang.Class<?>> getUserModuleClasses()
SecurityAdministrator
getUserModuleClasses in interface SecurityAdministrator
public Permission declarePermission(java.lang.Class<?> prefix,
java.lang.String suffix)
throws java.lang.SecurityException
declarePermission in interface SecurityAdministratorjava.lang.SecurityException
public Permission declarePermission(java.lang.Class<?> prefix,
java.lang.String suffix,
java.lang.String[] params)
throws java.lang.SecurityException
declarePermission in interface SecurityAdministratorjava.lang.SecurityException
public Permission declarePermission(Permission perm)
throws java.lang.SecurityException
declarePermission in interface SecurityAdministratorjava.lang.SecurityException
protected void onDeclare(Permission perm)
throws java.lang.SecurityException
perm -
java.lang.SecurityException
public final User createUser(java.lang.String name)
throws java.lang.SecurityException
SecurityAdministrator
createUser in interface SecurityAdministratorjava.lang.SecurityExceptionprotected abstract User doCreateUser(java.lang.String name)
protected abstract User createUser(java.lang.String name,
java.lang.String userPassword,
java.lang.String description)
throws java.lang.SecurityException
java.lang.SecurityException
public User getDefaultUser()
throws java.lang.SecurityException
getDefaultUser in interface SecurityAdministratorjava.lang.SecurityExceptionpublic Permission declarePermission(java.lang.String name)
SecurityAdministrator
declarePermission in interface SecurityAdministrator
public void deleteUser(java.lang.String name)
throws NoSuchUserException,
java.lang.SecurityException
SecurityAdministrator
deleteUser in interface SecurityAdministratorNoSuchUserException
java.lang.SecurityExceptionpublic User getAdministratorUser()
getAdministratorUser in interface SecurityAdministrator
public User authenticate(java.lang.String userName,
java.lang.String password)
SecurityAdministrator
authenticate in interface SecurityAdministratorpublic void logout()
SecurityAdministrator
logout in interface SecurityAdministratorpublic User getRegisteredTemplateUser()
getRegisteredTemplateUser in interface SecurityAdministrator
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||