Class SecureUberspector
java.lang.Object
org.apache.velocity.util.introspection.UberspectImpl
org.apache.velocity.util.introspection.SecureUberspector
- All Implemented Interfaces:
Uberspect,RuntimeServicesAware
Use a custom introspector that prevents classloader related method
calls. Use this introspector for situations in which template
writers are numerous or untrusted. Specifically, this introspector
prevents creation of arbitrary objects or reflection on objects.
To use this introspector, set the following property:
introspector.uberspect.class = org.apache.velocity.util.introspection.SecureUberspector
- Since:
- 1.5
- Version:
- $Id$
- Author:
- Will Glass-Husain
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.velocity.util.introspection.UberspectImpl
UberspectImpl.VelGetterImpl, UberspectImpl.VelMethodImpl, UberspectImpl.VelSetterImpl -
Field Summary
Fields inherited from class org.apache.velocity.util.introspection.UberspectImpl
conversionHandler, introspector, log, rsvc -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetIterator(Object obj, Info i) Get an iterator from the given object.voidinit()init - generates the Introspector.Methods inherited from class org.apache.velocity.util.introspection.UberspectImpl
getConversionHandler, getMethod, getPropertyGet, getPropertySet, setLog, setRuntimeServices
-
Constructor Details
-
SecureUberspector
public SecureUberspector()
-
-
Method Details
-
init
public void init()init - generates the Introspector. As the setup code makes sure that the log gets set before this is called, we can initialize the Introspector using the log object.- Specified by:
initin interfaceUberspect- Overrides:
initin classUberspectImpl
-
getIterator
Get an iterator from the given object. Since the superclass method this secure version checks for execute permission.- Specified by:
getIteratorin interfaceUberspect- Overrides:
getIteratorin classUberspectImpl- Parameters:
obj- object to iterate overi- line, column, template info- Returns:
- Iterator for object
-