Interface IAuthorizationStrategy

    • Method Detail

      • isInstantiationAuthorized

        <T extends IRequestableComponent> boolean isInstantiationAuthorized​(java.lang.Class<T> componentClass)
        Checks whether an instance of the given component class may be created. If this method returns false, the IUnauthorizedComponentInstantiationListener that is configured in the security settings will be called. The default implementation of that listener throws a UnauthorizedInstantiationException.

        If you wish to implement a strategy that authenticates users which cannot access a given Page (or other Component), you can simply throw a RestartResponseAtInterceptPageException in your implementation of this method.

        Type Parameters:
        T -
        Parameters:
        componentClass - The component class to check
        Returns:
        Whether the given component may be created
      • isActionAuthorized

        boolean isActionAuthorized​(Component component,
                                   Action action)
        Gets whether the given action is permitted. If it is, this method should return true. If it isn't, this method should either return false or - in case of a serious breach - throw a security exception. Returning is generally preferable over throwing an exception as that doesn't break the normal flow.
        Parameters:
        component - The component to be acted upon
        action - The action to authorize on the component
        Returns:
        Whether the given action may be taken on the given component
        Throws:
        AuthorizationException - Can be thrown by implementation if action is unauthorized
        See Also:
        Component.ENABLE, Component.RENDER
      • isResourceAuthorized

        boolean isResourceAuthorized​(IResource resource,
                                     org.apache.wicket.request.mapper.parameter.PageParameters parameters)
        Checks whether a request with some parameters is allowed to a resource.
        Parameters:
        resource - The resource that should be processed
        parameters - The request parameters
        Returns:
        true if the request to this resource is allowed.