java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.server.AllowedResourceAliasChecker
- All Implemented Interfaces:
ContextHandler.AliasCheck
,org.eclipse.jetty.util.component.LifeCycle
- Direct Known Subclasses:
SymlinkAllowedResourceAliasChecker
public class AllowedResourceAliasChecker
extends org.eclipse.jetty.util.component.AbstractLifeCycle
implements ContextHandler.AliasCheck
This will approve any alias to anything inside of the ContextHandler
s resource base which
is not protected by a protected target as defined by ContextHandler.getProtectedTargets()
at start.
Aliases approved by this may still be able to bypass SecurityConstraints, so this class would need to be extended to enforce any additional security constraints that are required.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener, org.eclipse.jetty.util.component.AbstractLifeCycle.StopException
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
org.eclipse.jetty.util.component.LifeCycle.Listener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Path
protected static final LinkOption[]
protected static final LinkOption[]
Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
FAILED, STARTED, STARTING, STOPPED, STOPPING
-
Constructor Summary
ConstructorsConstructorDescriptionAllowedResourceAliasChecker
(ContextHandler contextHandler) AllowedResourceAliasChecker
(ContextHandler contextHandler, Supplier<org.eclipse.jetty.util.resource.Resource> resourceBaseSupplier) AllowedResourceAliasChecker
(ContextHandler contextHandler, org.eclipse.jetty.util.resource.Resource baseResource) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
boolean
Check an aliasprotected void
doStart()
protected void
doStop()
protected ContextHandler
protected Path
getPath
(org.eclipse.jetty.util.resource.Resource resource) protected void
protected boolean
protected boolean
isSameFile
(Path path1, Path path2) toString()
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addEventListener, getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeEventListener, setEventListeners, start, stop
-
Field Details
-
FOLLOW_LINKS
-
NO_FOLLOW_LINKS
-
_base
-
-
Constructor Details
-
AllowedResourceAliasChecker
- Parameters:
contextHandler
- the context handler to use.
-
AllowedResourceAliasChecker
public AllowedResourceAliasChecker(ContextHandler contextHandler, org.eclipse.jetty.util.resource.Resource baseResource) -
AllowedResourceAliasChecker
public AllowedResourceAliasChecker(ContextHandler contextHandler, Supplier<org.eclipse.jetty.util.resource.Resource> resourceBaseSupplier)
-
-
Method Details
-
getContextHandler
-
initialize
protected void initialize() -
doStart
- Overrides:
doStart
in classorg.eclipse.jetty.util.component.AbstractLifeCycle
- Throws:
Exception
-
doStop
- Overrides:
doStop
in classorg.eclipse.jetty.util.component.AbstractLifeCycle
- Throws:
Exception
-
check
Description copied from interface:ContextHandler.AliasCheck
Check an alias- Specified by:
check
in interfaceContextHandler.AliasCheck
- Parameters:
pathInContext
- The path the aliased resource was created forresource
- The aliased resourced- Returns:
- True if the resource is OK to be served.
-
check
-
isAllowed
-
isSameFile
-
getPath
-
toString
- Overrides:
toString
in classorg.eclipse.jetty.util.component.AbstractLifeCycle
-