org.wicketstuff.security.swarm.strategies
Class AbstractSwarmStrategy

java.lang.Object
  extended by org.wicketstuff.security.strategies.WaspAuthorizationStrategy
      extended by org.wicketstuff.security.strategies.ClassAuthorizationStrategy
          extended by org.wicketstuff.security.swarm.strategies.AbstractSwarmStrategy
All Implemented Interfaces:
Serializable, org.apache.wicket.authorization.IAuthorizationStrategy
Direct Known Subclasses:
SwarmStrategy

public abstract class AbstractSwarmStrategy
extends org.wicketstuff.security.strategies.ClassAuthorizationStrategy

See Also:
Serialized Form

Field Summary
protected  LoginContainer loginContainer
           
 
Fields inherited from class org.wicketstuff.security.strategies.WaspAuthorizationStrategy
MESSAGE_KEY
 
Fields inherited from interface org.apache.wicket.authorization.IAuthorizationStrategy
ALLOW_ALL
 
Constructor Summary
AbstractSwarmStrategy()
           
AbstractSwarmStrategy(Class<? extends org.wicketstuff.security.components.ISecureComponent> secureClass)
           
 
Method Summary
 org.wicketstuff.security.hive.authentication.Subject getSubject()
          The currently logged in subject, note that at any time there is at most 1 subject logged in.
 boolean hasPermission(org.wicketstuff.security.hive.authorization.Permission permission)
          Performs the actual permission check at the Hive.
abstract  boolean hasPermission(org.wicketstuff.security.hive.authorization.Permission permission, org.wicketstuff.security.hive.authentication.Subject subject)
           
 boolean isClassAuthenticated(Class<?> clazz)
           
 boolean isClassAuthorized(Class<?> clazz, org.wicketstuff.security.actions.WaspAction action)
           
 boolean isComponentAuthenticated(org.apache.wicket.Component component)
           
 boolean isComponentAuthorized(org.apache.wicket.Component component, org.wicketstuff.security.actions.WaspAction action)
           
 boolean isModelAuthenticated(org.apache.wicket.model.IModel<?> model, org.apache.wicket.Component component)
           
 boolean isModelAuthorized(org.wicketstuff.security.models.ISecureModel<?> model, org.apache.wicket.Component component, org.wicketstuff.security.actions.WaspAction action)
          Checks if some action is granted on the model.
 
Methods inherited from class org.wicketstuff.security.strategies.ClassAuthorizationStrategy
destroy, getClassChecks, getClassChecks, getExceptionMessage, isInstantiationAuthorized
 
Methods inherited from class org.wicketstuff.security.strategies.WaspAuthorizationStrategy
createMessageSource, get, getActionFactory, getMessageSource, getMessageSource, getSecurityCheck, isActionAuthorized, isUserAuthenticated, login, logMessage, logMessage, logMessage, logMessages, logoff, removeMessageSource, setStrategyResolver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

loginContainer

protected LoginContainer loginContainer
Constructor Detail

AbstractSwarmStrategy

public AbstractSwarmStrategy()

AbstractSwarmStrategy

public AbstractSwarmStrategy(Class<? extends org.wicketstuff.security.components.ISecureComponent> secureClass)
Method Detail

hasPermission

public abstract boolean hasPermission(org.wicketstuff.security.hive.authorization.Permission permission,
                                      org.wicketstuff.security.hive.authentication.Subject subject)

getSubject

public org.wicketstuff.security.hive.authentication.Subject getSubject()
The currently logged in subject, note that at any time there is at most 1 subject logged in.

Returns:
the subject or null if no login has succeeded yet

hasPermission

public boolean hasPermission(org.wicketstuff.security.hive.authorization.Permission permission)
Performs the actual permission check at the Hive. This is equal to using hasPermission(Permission, Subject) with getSubject()

Parameters:
permission - the permission to verify
Returns:
true if the subject has or implies the permission, false otherwise
Throws:
org.wicketstuff.security.strategies.SecurityException - if the permission is null
See Also:
hasPermission(Permission, Subject)

isClassAuthenticated

public boolean isClassAuthenticated(Class<?> clazz)
Specified by:
isClassAuthenticated in class org.wicketstuff.security.strategies.WaspAuthorizationStrategy
See Also:
WaspAuthorizationStrategy.isClassAuthenticated(java.lang.Class)

isClassAuthorized

public boolean isClassAuthorized(Class<?> clazz,
                                 org.wicketstuff.security.actions.WaspAction action)
Specified by:
isClassAuthorized in class org.wicketstuff.security.strategies.WaspAuthorizationStrategy
See Also:
WaspAuthorizationStrategy.isClassAuthorized(java.lang.Class, org.wicketstuff.security.actions.WaspAction)

isComponentAuthenticated

public boolean isComponentAuthenticated(org.apache.wicket.Component component)
Specified by:
isComponentAuthenticated in class org.wicketstuff.security.strategies.WaspAuthorizationStrategy
See Also:
WaspAuthorizationStrategy.isComponentAuthenticated(org.apache.wicket.Component)

isComponentAuthorized

public boolean isComponentAuthorized(org.apache.wicket.Component component,
                                     org.wicketstuff.security.actions.WaspAction action)
Specified by:
isComponentAuthorized in class org.wicketstuff.security.strategies.WaspAuthorizationStrategy
See Also:
WaspAuthorizationStrategy.isComponentAuthorized(org.apache.wicket.Component, org.wicketstuff.security.actions.WaspAction)

isModelAuthenticated

public boolean isModelAuthenticated(org.apache.wicket.model.IModel<?> model,
                                    org.apache.wicket.Component component)
Specified by:
isModelAuthenticated in class org.wicketstuff.security.strategies.WaspAuthorizationStrategy
See Also:
WaspAuthorizationStrategy.isModelAuthenticated(org.apache.wicket.model.IModel, org.apache.wicket.Component)

isModelAuthorized

public boolean isModelAuthorized(org.wicketstuff.security.models.ISecureModel<?> model,
                                 org.apache.wicket.Component component,
                                 org.wicketstuff.security.actions.WaspAction action)
Checks if some action is granted on the model. Although SwarmModels are preferred any ISecureModel can be used, in that case it uses the ISecureModel#toString() method as the name of the DataPermission

Specified by:
isModelAuthorized in class org.wicketstuff.security.strategies.WaspAuthorizationStrategy
See Also:
WaspAuthorizationStrategy.isModelAuthorized(ISecureModel, Component, WaspAction)


Copyright © 2006–2018 Apache Software Foundation. All rights reserved.