Package org.eclipse.jetty.server
Class AllowedResourceAliasChecker
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.server.AllowedResourceAliasChecker
- All Implemented Interfaces:
ContextHandler.AliasCheck,LifeCycle
- Direct Known Subclasses:
SymlinkAllowedResourceAliasChecker
public class AllowedResourceAliasChecker
extends AbstractLifeCycle
implements ContextHandler.AliasCheck
This will approve any alias to anything inside of the ContextHandlers 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
AbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopExceptionNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Pathprotected static final LinkOption[]protected static final LinkOption[] -
Constructor Summary
ConstructorsConstructorDescriptionAllowedResourceAliasChecker(ContextHandler contextHandler) AllowedResourceAliasChecker(ContextHandler contextHandler, Supplier<Resource> resourceBaseSupplier) AllowedResourceAliasChecker(ContextHandler contextHandler, Resource baseResource) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanbooleanCheck an aliasprotected voiddoStart()Method to override to start the lifecycleprotected voiddoStop()Method to override to stop the lifecycleprotected ContextHandlerprotected Pathprotected voidprotected booleanprotected booleanisSameFile(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
-
AllowedResourceAliasChecker
public AllowedResourceAliasChecker(ContextHandler contextHandler, Supplier<Resource> resourceBaseSupplier)
-
-
Method Details
-
getContextHandler
-
initialize
protected void initialize() -
doStart
Description copied from class:AbstractLifeCycleMethod to override to start the lifecycle- Overrides:
doStartin classAbstractLifeCycle- Throws:
AbstractLifeCycle.StopException- If thrown, the lifecycle will immediately be stopped.Exception- If there was a problem starting. Will cause a transition to FAILED state
-
doStop
Description copied from class:AbstractLifeCycleMethod to override to stop the lifecycle- Overrides:
doStopin classAbstractLifeCycle- Throws:
Exception- If there was a problem stopping. Will cause a transition to FAILED state
-
check
Description copied from interface:ContextHandler.AliasCheckCheck an alias- Specified by:
checkin 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:
toStringin classAbstractLifeCycle
-