org.apache.turbine.modules.screens

## Class VelocitySecureScreen

- java.lang.Object
- - org.apache.turbine.modules.Assembler
  - - org.apache.turbine.modules.Screen
    - - org.apache.turbine.modules.screens.TemplateScreen
      - - org.apache.turbine.modules.screens.VelocityScreen
        - - org.apache.turbine.modules.screens.VelocitySecureScreen

-     public abstract class VelocitySecureScreen
      extends VelocityScreen

  VelocitySecureScreen Always performs a Security Check that you've defined before executing the doBuildTemplate(). You should extend this class and add the specific security check needed. If you have a number of screens that need to perform the same check, you could make a base screen by extending this class and implementing the isAuthorized(). Then each screen that needs to perform the same check could extend your base screen.
  Version:
    $Id: VelocitySecureScreen.java 1773378 2016-12-09 13:19:59Z tv $
  Author:
    Dave Bryson, Peter Courcoux

- - ### Field Summary

    - ### Fields inherited from class org.apache.turbine.modules.screens.VelocityScreen

      `templateError, templateService, velocity`

    - ### Fields inherited from class org.apache.turbine.modules.screens.TemplateScreen

      `log`

    - ### Fields inherited from class org.apache.turbine.modules.Screen

      `CACHE_SIZE_DEFAULT, CACHE_SIZE_KEY, NAME, PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `VelocitySecureScreen()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `doBuildTemplate(PipelineData pipelineData)` This method overrides the method in VelocityScreen to perform a security check first.
    `protected abstract void` | `doBuildTemplate(PipelineData pipelineData, org.apache.velocity.context.Context context)` Implement this to add information to the context.
    `protected abstract boolean` | `isAuthorized(PipelineData pipelineData)` Implement this method to perform the security check needed.

    - ### Methods inherited from class org.apache.turbine.modules.screens.VelocityScreen

      `buildTemplate`

    - ### Methods inherited from class org.apache.turbine.modules.screens.TemplateScreen

      `doBuild, doPostBuildTemplate, doRedirect, doRedirect, setTemplate`

    - ### Methods inherited from class org.apache.turbine.modules.Screen

      `build, getLayout, getPrefix, setLayout`

    - ### Methods inherited from class org.apache.turbine.modules.Assembler

      `getRunData`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### VelocitySecureScreen

          public VelocitySecureScreen()

  - ### Method Detail

    - #### doBuildTemplate

          protected abstract void doBuildTemplate(PipelineData pipelineData,
                             org.apache.velocity.context.Context context)
                                           throws Exception

      Implement this to add information to the context.
      Overrides:
        `doBuildTemplate` in class `VelocityScreen`
      Parameters:
        `pipelineData` - Turbine information.
        `context` - Context for web pages.
      Throws:
        `Exception` - a generic exception.

    - #### doBuildTemplate

          protected void doBuildTemplate(PipelineData pipelineData)
                                  throws Exception

      This method overrides the method in VelocityScreen to perform a security check first.
      Overrides:
        `doBuildTemplate` in class `VelocityScreen`
      Parameters:
        `pipelineData` - Turbine information.
      Throws:
        `Exception` - a generic exception.

    - #### isAuthorized

          protected abstract boolean isAuthorized(PipelineData pipelineData)
                                           throws Exception

      Implement this method to perform the security check needed. You should set the template in this method that you want the user to be sent to if they're unauthorized. See the VelocitySecurityCheck utility.
      Parameters:
        `pipelineData` - Turbine information.
      Returns:
        True if the user is authorized to access the screen.
      Throws:
        `Exception` - a generic exception.

Copyright © 2000–2018 The Apache Software Foundation. All rights reserved.