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
-
Method Summary
Modifier and TypeMethodDescriptiongetIterator
(Object obj, Info i) Get an iterator from the given object.void
init()
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:
init
in interfaceUberspect
- Overrides:
init
in classUberspectImpl
-
getIterator
Get an iterator from the given object. Since the superclass method this secure version checks for execute permission.- Specified by:
getIterator
in interfaceUberspect
- Overrides:
getIterator
in classUberspectImpl
- Parameters:
obj
- object to iterate overi
- line, column, template info- Returns:
- Iterator for object
-