blob: 4c8c58ce3345808e5f848ef6966ef6429e7307f8 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.10) on Fri Feb 26 09:50:23 CST 2021 -->
<title>ConstraintSecurityHandler (Jetty :: Project 9.4.38.v20210224 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-02-26">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ConstraintSecurityHandler (Jetty :: Project 9.4.38.v20210224 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":10,"i13":10,"i14":10,"i15":10,"i16":9,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":9,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ConstraintSecurityHandler.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.jetty.security</a></div>
<h2 title="Class ConstraintSecurityHandler" class="title">Class ConstraintSecurityHandler</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">org.eclipse.jetty.util.component.AbstractLifeCycle</a></li>
<li>
<ul class="inheritance">
<li><a href="../util/component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">org.eclipse.jetty.util.component.ContainerLifeCycle</a></li>
<li>
<ul class="inheritance">
<li><a href="../server/handler/AbstractHandler.html" title="class in org.eclipse.jetty.server.handler">org.eclipse.jetty.server.handler.AbstractHandler</a></li>
<li>
<ul class="inheritance">
<li><a href="../server/handler/AbstractHandlerContainer.html" title="class in org.eclipse.jetty.server.handler">org.eclipse.jetty.server.handler.AbstractHandlerContainer</a></li>
<li>
<ul class="inheritance">
<li><a href="../server/handler/HandlerWrapper.html" title="class in org.eclipse.jetty.server.handler">org.eclipse.jetty.server.handler.HandlerWrapper</a></li>
<li>
<ul class="inheritance">
<li><a href="SecurityHandler.html" title="class in org.eclipse.jetty.security">org.eclipse.jetty.security.SecurityHandler</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.security.ConstraintSecurityHandler</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="Authenticator.AuthConfiguration.html" title="interface in org.eclipse.jetty.security">Authenticator.AuthConfiguration</a></code>, <code><a href="ConstraintAware.html" title="interface in org.eclipse.jetty.security">ConstraintAware</a></code>, <code><a href="../server/Handler.html" title="interface in org.eclipse.jetty.server">Handler</a></code>, <code><a href="../server/HandlerContainer.html" title="interface in org.eclipse.jetty.server">HandlerContainer</a></code>, <code><a href="../util/component/Container.html" title="interface in org.eclipse.jetty.util.component">Container</a></code>, <code><a href="../util/component/Destroyable.html" title="interface in org.eclipse.jetty.util.component">Destroyable</a></code>, <code><a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></code>, <code><a href="../util/component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></code>, <code><a href="../util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">ConstraintSecurityHandler</span>
extends <a href="SecurityHandler.html" title="class in org.eclipse.jetty.security">SecurityHandler</a>
implements <a href="ConstraintAware.html" title="interface in org.eclipse.jetty.security">ConstraintAware</a></pre>
<div class="block">ConstraintSecurityHandler
<p>
Handler to enforce SecurityConstraints. This implementation is servlet spec
3.1 compliant and pre-computes the constraint combinations for runtime
efficiency.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.security.SecurityHandler">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.eclipse.jetty.security.<a href="SecurityHandler.html" title="class in org.eclipse.jetty.security">SecurityHandler</a></h3>
<code><a href="SecurityHandler.NotChecked.html" title="class in org.eclipse.jetty.security">SecurityHandler.NotChecked</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.server.handler.AbstractHandler">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.eclipse.jetty.server.handler.<a href="../server/handler/AbstractHandler.html" title="class in org.eclipse.jetty.server.handler">AbstractHandler</a></h3>
<code><a href="../server/handler/AbstractHandler.ErrorDispatchHandler.html" title="class in org.eclipse.jetty.server.handler">AbstractHandler.ErrorDispatchHandler</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../util/component/AbstractLifeCycle.AbstractLifeCycleListener.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle.AbstractLifeCycleListener</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.Container">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/Container.html" title="interface in org.eclipse.jetty.util.component">Container</a></h3>
<code><a href="../util/component/Container.InheritedListener.html" title="interface in org.eclipse.jetty.util.component">Container.InheritedListener</a>, <a href="../util/component/Container.Listener.html" title="interface in org.eclipse.jetty.util.component">Container.Listener</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../util/component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.LifeCycle">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></h3>
<code><a href="../util/component/LifeCycle.Listener.html" title="interface in org.eclipse.jetty.util.component">LifeCycle.Listener</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.security.SecurityHandler">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jetty.security.<a href="SecurityHandler.html" title="class in org.eclipse.jetty.security">SecurityHandler</a></h3>
<code><a href="SecurityHandler.html#__NO_USER">__NO_USER</a>, <a href="SecurityHandler.html#__NOBODY">__NOBODY</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.server.handler.HandlerWrapper">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jetty.server.handler.<a href="../server/handler/HandlerWrapper.html" title="class in org.eclipse.jetty.server.handler">HandlerWrapper</a></h3>
<code><a href="../server/handler/HandlerWrapper.html#_handler">_handler</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../util/component/AbstractLifeCycle.html#FAILED">FAILED</a>, <a href="../util/component/AbstractLifeCycle.html#RUNNING">RUNNING</a>, <a href="../util/component/AbstractLifeCycle.html#STARTED">STARTED</a>, <a href="../util/component/AbstractLifeCycle.html#STARTING">STARTING</a>, <a href="../util/component/AbstractLifeCycle.html#STOPPED">STOPPED</a>, <a href="../util/component/AbstractLifeCycle.html#STOPPING">STOPPING</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../util/component/Dumpable.html#KEY">KEY</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">ConstraintSecurityHandler</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addConstraintMapping(org.eclipse.jetty.security.ConstraintMapping)">addConstraintMapping</a></span>&#8203;(<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&nbsp;mapping)</code></th>
<td class="colLast">
<div class="block">Add a Constraint Mapping.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addRole(java.lang.String)">addRole</a></span>&#8203;(java.lang.String&nbsp;role)</code></th>
<td class="colLast">
<div class="block">Add a Role definition.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkPathsWithUncoveredHttpMethods()">checkPathsWithUncoveredHttpMethods</a></span>()</code></th>
<td class="colLast">
<div class="block">Servlet spec 3.1 pg.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkUserDataPermissions(java.lang.String,org.eclipse.jetty.server.Request,org.eclipse.jetty.server.Response,org.eclipse.jetty.security.RoleInfo)">checkUserDataPermissions</a></span>&#8203;(java.lang.String&nbsp;pathInContext,
<a href="../server/Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;request,
<a href="../server/Response.html" title="class in org.eclipse.jetty.server">Response</a>&nbsp;response,
<a href="RoleInfo.html" title="class in org.eclipse.jetty.security">RoleInfo</a>&nbsp;roleInfo)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkWebResourcePermissions(java.lang.String,org.eclipse.jetty.server.Request,org.eclipse.jetty.server.Response,java.lang.Object,org.eclipse.jetty.server.UserIdentity)">checkWebResourcePermissions</a></span>&#8203;(java.lang.String&nbsp;pathInContext,
<a href="../server/Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;request,
<a href="../server/Response.html" title="class in org.eclipse.jetty.server">Response</a>&nbsp;response,
java.lang.Object&nbsp;constraintInfo,
<a href="../server/UserIdentity.html" title="interface in org.eclipse.jetty.server">UserIdentity</a>&nbsp;userIdentity)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configureRoleInfo(org.eclipse.jetty.security.RoleInfo,org.eclipse.jetty.security.ConstraintMapping)">configureRoleInfo</a></span>&#8203;(<a href="RoleInfo.html" title="class in org.eclipse.jetty.security">RoleInfo</a>&nbsp;ri,
<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&nbsp;mapping)</code></th>
<td class="colLast">
<div class="block">Initialize or update the RoleInfo from the constraint</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static <a href="../util/security/Constraint.html" title="class in org.eclipse.jetty.util.security">Constraint</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createConstraint()">createConstraint</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static <a href="../util/security/Constraint.html" title="class in org.eclipse.jetty.util.security">Constraint</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createConstraint(java.lang.String,boolean,java.lang.String%5B%5D,int)">createConstraint</a></span>&#8203;(java.lang.String&nbsp;name,
boolean&nbsp;authenticate,
java.lang.String[]&nbsp;roles,
int&nbsp;dataConstraint)</code></th>
<td class="colLast">
<div class="block">Create a security constraint</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static <a href="../util/security/Constraint.html" title="class in org.eclipse.jetty.util.security">Constraint</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createConstraint(java.lang.String,java.lang.String%5B%5D,javax.servlet.annotation.ServletSecurity.EmptyRoleSemantic,javax.servlet.annotation.ServletSecurity.TransportGuarantee)">createConstraint</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.String[]&nbsp;rolesAllowed,
javax.servlet.annotation.ServletSecurity.EmptyRoleSemantic&nbsp;permitOrDeny,
javax.servlet.annotation.ServletSecurity.TransportGuarantee&nbsp;transport)</code></th>
<td class="colLast">
<div class="block">Create Constraint</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static <a href="../util/security/Constraint.html" title="class in org.eclipse.jetty.util.security">Constraint</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createConstraint(java.lang.String,javax.servlet.HttpConstraintElement)">createConstraint</a></span>&#8203;(java.lang.String&nbsp;name,
javax.servlet.HttpConstraintElement&nbsp;element)</code></th>
<td class="colLast">
<div class="block">Create a Constraint</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static <a href="../util/security/Constraint.html" title="class in org.eclipse.jetty.util.security">Constraint</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createConstraint(org.eclipse.jetty.util.security.Constraint)">createConstraint</a></span>&#8203;(<a href="../util/security/Constraint.html" title="class in org.eclipse.jetty.util.security">Constraint</a>&nbsp;constraint)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createConstraintsWithMappingsForPath(java.lang.String,java.lang.String,javax.servlet.ServletSecurityElement)">createConstraintsWithMappingsForPath</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;pathSpec,
javax.servlet.ServletSecurityElement&nbsp;securityElement)</code></th>
<td class="colLast">
<div class="block">Generate Constraints and ContraintMappings for the given url pattern and ServletSecurityElement</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doStart()">doStart</a></span>()</code></th>
<td class="colLast">
<div class="block">Starts the managed lifecycle beans in the order they were added.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doStop()">doStop</a></span>()</code></th>
<td class="colLast">
<div class="block">Stops the managed lifecycle beans in the reverse order they were added.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dump(java.lang.Appendable,java.lang.String)">dump</a></span>&#8203;(java.lang.Appendable&nbsp;out,
java.lang.String&nbsp;indent)</code></th>
<td class="colLast">
<div class="block">Dump this object (and children) into an Appendable using the provided indent after any new lines.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConstraintMappings()">getConstraintMappings</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConstraintMappingsForPath(java.lang.String,java.util.List)">getConstraintMappingsForPath</a></span>&#8203;(java.lang.String&nbsp;pathSpec,
java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;&nbsp;constraintMappings)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected java.util.Set&lt;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOmittedMethods(java.lang.String)">getOmittedMethods</a></span>&#8203;(java.lang.String&nbsp;omission)</code></th>
<td class="colLast">
<div class="block">Given a string of the form <code>&lt;method&gt;.&lt;method&gt;.omission</code>
split out the individual method names.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPathsWithUncoveredHttpMethods()">getPathsWithUncoveredHttpMethods</a></span>()</code></th>
<td class="colLast">
<div class="block">Servlet spec 3.1 pg.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRoles()">getRoles</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAuthMandatory(org.eclipse.jetty.server.Request,org.eclipse.jetty.server.Response,java.lang.Object)">isAuthMandatory</a></span>&#8203;(<a href="../server/Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest,
<a href="../server/Response.html" title="class in org.eclipse.jetty.server">Response</a>&nbsp;baseResponse,
java.lang.Object&nbsp;constraintInfo)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDenyUncoveredHttpMethods()">isDenyUncoveredHttpMethods</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#omissionsExist(java.lang.String,java.util.Map)">omissionsExist</a></span>&#8203;(java.lang.String&nbsp;path,
java.util.Map&lt;java.lang.String,&#8203;<a href="RoleInfo.html" title="class in org.eclipse.jetty.security">RoleInfo</a>&gt;&nbsp;methodMappings)</code></th>
<td class="colLast">
<div class="block">Check if any http method omissions exist in the list of method
to auth info mappings.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>protected <a href="RoleInfo.html" title="class in org.eclipse.jetty.security">RoleInfo</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepareConstraintInfo(java.lang.String,org.eclipse.jetty.server.Request)">prepareConstraintInfo</a></span>&#8203;(java.lang.String&nbsp;pathInContext,
<a href="../server/Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;request)</code></th>
<td class="colLast">
<div class="block">Find constraints that apply to the given path.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#processConstraintMapping(org.eclipse.jetty.security.ConstraintMapping)">processConstraintMapping</a></span>&#8203;(<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&nbsp;mapping)</code></th>
<td class="colLast">
<div class="block">Create and combine the constraint with the existing processed
constraints.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#processConstraintMappingWithMethodOmissions(org.eclipse.jetty.security.ConstraintMapping,java.util.Map)">processConstraintMappingWithMethodOmissions</a></span>&#8203;(<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&nbsp;mapping,
java.util.Map&lt;java.lang.String,&#8203;<a href="RoleInfo.html" title="class in org.eclipse.jetty.security">RoleInfo</a>&gt;&nbsp;mappings)</code></th>
<td class="colLast">
<div class="block">Constraints that name method omissions are dealt with differently.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeConstraintMappingsForPath(java.lang.String,java.util.List)">removeConstraintMappingsForPath</a></span>&#8203;(java.lang.String&nbsp;pathSpec,
java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;&nbsp;constraintMappings)</code></th>
<td class="colLast">
<div class="block">Take out of the constraint mappings those that match the
given path.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setConstraintMappings(java.util.List)">setConstraintMappings</a></span>&#8203;(java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;&nbsp;constraintMappings)</code></th>
<td class="colLast">
<div class="block">Process the constraints following the combining rules in Servlet 3.0 EA
spec section 13.7.1 Note that much of the logic is in the RoleInfo class.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setConstraintMappings(java.util.List,java.util.Set)">setConstraintMappings</a></span>&#8203;(java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;&nbsp;constraintMappings,
java.util.Set&lt;java.lang.String&gt;&nbsp;roles)</code></th>
<td class="colLast">
<div class="block">Process the constraints following the combining rules in Servlet 3.0 EA
spec section 13.7.1 Note that much of the logic is in the RoleInfo class.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setConstraintMappings(org.eclipse.jetty.security.ConstraintMapping%5B%5D)">setConstraintMappings</a></span>&#8203;(<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>[]&nbsp;constraintMappings)</code></th>
<td class="colLast">
<div class="block">Process the constraints following the combining rules in Servlet 3.0 EA
spec section 13.7.1 Note that much of the logic is in the RoleInfo class.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDenyUncoveredHttpMethods(boolean)">setDenyUncoveredHttpMethods</a></span>&#8203;(boolean&nbsp;deny)</code></th>
<td class="colLast">
<div class="block">See Servlet Spec 31, sec 13.8.4, pg 145
When true, requests with http methods not explicitly covered either by inclusion or omissions
in constraints, will have access denied.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRoles(java.util.Set)">setRoles</a></span>&#8203;(java.util.Set&lt;java.lang.String&gt;&nbsp;roles)</code></th>
<td class="colLast">
<div class="block">Set the known roles.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.security.SecurityHandler">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.security.<a href="SecurityHandler.html" title="class in org.eclipse.jetty.security">SecurityHandler</a></h3>
<code><a href="SecurityHandler.html#checkSecurity(org.eclipse.jetty.server.Request)">checkSecurity</a>, <a href="SecurityHandler.html#findIdentityService()">findIdentityService</a>, <a href="SecurityHandler.html#findLoginService()">findLoginService</a>, <a href="SecurityHandler.html#getAuthenticator()">getAuthenticator</a>, <a href="SecurityHandler.html#getAuthenticatorFactory()">getAuthenticatorFactory</a>, <a href="SecurityHandler.html#getAuthMethod()">getAuthMethod</a>, <a href="SecurityHandler.html#getCurrentSecurityHandler()">getCurrentSecurityHandler</a>, <a href="SecurityHandler.html#getIdentityService()">getIdentityService</a>, <a href="SecurityHandler.html#getInitParameter(java.lang.String)">getInitParameter</a>, <a href="SecurityHandler.html#getInitParameterNames()">getInitParameterNames</a>, <a href="SecurityHandler.html#getKnownAuthenticatorFactories()">getKnownAuthenticatorFactories</a>, <a href="SecurityHandler.html#getLoginService()">getLoginService</a>, <a href="SecurityHandler.html#getRealmName()">getRealmName</a>, <a href="SecurityHandler.html#handle(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">handle</a>, <a href="SecurityHandler.html#isCheckWelcomeFiles()">isCheckWelcomeFiles</a>, <a href="SecurityHandler.html#isSessionRenewedOnAuthentication()">isSessionRenewedOnAuthentication</a>, <a href="SecurityHandler.html#logout(org.eclipse.jetty.server.Authentication.User)">logout</a>, <a href="SecurityHandler.html#setAuthenticator(org.eclipse.jetty.security.Authenticator)">setAuthenticator</a>, <a href="SecurityHandler.html#setAuthenticatorFactory(org.eclipse.jetty.security.Authenticator.Factory)">setAuthenticatorFactory</a>, <a href="SecurityHandler.html#setAuthMethod(java.lang.String)">setAuthMethod</a>, <a href="SecurityHandler.html#setCheckWelcomeFiles(boolean)">setCheckWelcomeFiles</a>, <a href="SecurityHandler.html#setIdentityService(org.eclipse.jetty.security.IdentityService)">setIdentityService</a>, <a href="SecurityHandler.html#setInitParameter(java.lang.String,java.lang.String)">setInitParameter</a>, <a href="SecurityHandler.html#setLoginService(org.eclipse.jetty.security.LoginService)">setLoginService</a>, <a href="SecurityHandler.html#setRealmName(java.lang.String)">setRealmName</a>, <a href="SecurityHandler.html#setSessionRenewedOnAuthentication(boolean)">setSessionRenewedOnAuthentication</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.server.handler.HandlerWrapper">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.server.handler.<a href="../server/handler/HandlerWrapper.html" title="class in org.eclipse.jetty.server.handler">HandlerWrapper</a></h3>
<code><a href="../server/handler/HandlerWrapper.html#destroy()">destroy</a>, <a href="../server/handler/HandlerWrapper.html#expandChildren(java.util.List,java.lang.Class)">expandChildren</a>, <a href="../server/handler/HandlerWrapper.html#getHandler()">getHandler</a>, <a href="../server/handler/HandlerWrapper.html#getHandlers()">getHandlers</a>, <a href="../server/handler/HandlerWrapper.html#insertHandler(org.eclipse.jetty.server.handler.HandlerWrapper)">insertHandler</a>, <a href="../server/handler/HandlerWrapper.html#setHandler(org.eclipse.jetty.server.Handler)">setHandler</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.server.handler.AbstractHandlerContainer">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.server.handler.<a href="../server/handler/AbstractHandlerContainer.html" title="class in org.eclipse.jetty.server.handler">AbstractHandlerContainer</a></h3>
<code><a href="../server/handler/AbstractHandlerContainer.html#doShutdown(java.util.List)">doShutdown</a>, <a href="../server/handler/AbstractHandlerContainer.html#expandHandler(org.eclipse.jetty.server.Handler,java.util.List,java.lang.Class)">expandHandler</a>, <a href="../server/handler/AbstractHandlerContainer.html#findContainerOf(org.eclipse.jetty.server.HandlerContainer,java.lang.Class,org.eclipse.jetty.server.Handler)">findContainerOf</a>, <a href="../server/handler/AbstractHandlerContainer.html#getChildHandlerByClass(java.lang.Class)">getChildHandlerByClass</a>, <a href="../server/handler/AbstractHandlerContainer.html#getChildHandlers()">getChildHandlers</a>, <a href="../server/handler/AbstractHandlerContainer.html#getChildHandlersByClass(java.lang.Class)">getChildHandlersByClass</a>, <a href="../server/handler/AbstractHandlerContainer.html#setServer(org.eclipse.jetty.server.Server)">setServer</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.server.handler.AbstractHandler">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.server.handler.<a href="../server/handler/AbstractHandler.html" title="class in org.eclipse.jetty.server.handler">AbstractHandler</a></h3>
<code><a href="../server/handler/AbstractHandler.html#doError(java.lang.String,org.eclipse.jetty.server.Request,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)">doError</a>, <a href="../server/handler/AbstractHandler.html#getServer()">getServer</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.ContainerLifeCycle">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">ContainerLifeCycle</a></h3>
<code><a href="../util/component/ContainerLifeCycle.html#addBean(java.lang.Object)">addBean</a>, <a href="../util/component/ContainerLifeCycle.html#addBean(java.lang.Object,boolean)">addBean</a>, <a href="../util/component/ContainerLifeCycle.html#addEventListener(org.eclipse.jetty.util.component.Container.Listener)">addEventListener</a>, <a href="../util/component/ContainerLifeCycle.html#addManaged(org.eclipse.jetty.util.component.LifeCycle)">addManaged</a>, <a href="../util/component/ContainerLifeCycle.html#contains(java.lang.Object)">contains</a>, <a href="../util/component/ContainerLifeCycle.html#dump()">dump</a>, <a href="../util/component/ContainerLifeCycle.html#dump(java.lang.Appendable)">dump</a>, <a href="../util/component/ContainerLifeCycle.html#dump(java.lang.Appendable,java.lang.String,java.util.Collection...)">dump</a>, <a href="../util/component/ContainerLifeCycle.html#dump(org.eclipse.jetty.util.component.Dumpable)">dump</a>, <a href="../util/component/ContainerLifeCycle.html#dumpBeans(java.lang.Appendable,java.lang.String,java.util.Collection...)">dumpBeans</a>, <a href="../util/component/ContainerLifeCycle.html#dumpObject(java.lang.Appendable,java.lang.Object)">dumpObject</a>, <a href="../util/component/ContainerLifeCycle.html#dumpObjects(java.lang.Appendable,java.lang.String,java.lang.Object...)">dumpObjects</a>, <a href="../util/component/ContainerLifeCycle.html#dumpStdErr()">dumpStdErr</a>, <a href="../util/component/ContainerLifeCycle.html#dumpThis(java.lang.Appendable)">dumpThis</a>, <a href="../util/component/ContainerLifeCycle.html#getBean(java.lang.Class)">getBean</a>, <a href="../util/component/ContainerLifeCycle.html#getBeans()">getBeans</a>, <a href="../util/component/ContainerLifeCycle.html#getBeans(java.lang.Class)">getBeans</a>, <a href="../util/component/ContainerLifeCycle.html#getContainedBeans(java.lang.Class)">getContainedBeans</a>, <a href="../util/component/ContainerLifeCycle.html#getContainedBeans(java.lang.Class,java.util.Collection)">getContainedBeans</a>, <a href="../util/component/ContainerLifeCycle.html#isAuto(java.lang.Object)">isAuto</a>, <a href="../util/component/ContainerLifeCycle.html#isManaged(java.lang.Object)">isManaged</a>, <a href="../util/component/ContainerLifeCycle.html#isUnmanaged(java.lang.Object)">isUnmanaged</a>, <a href="../util/component/ContainerLifeCycle.html#manage(java.lang.Object)">manage</a>, <a href="../util/component/ContainerLifeCycle.html#removeBean(java.lang.Object)">removeBean</a>, <a href="../util/component/ContainerLifeCycle.html#removeBeans()">removeBeans</a>, <a href="../util/component/ContainerLifeCycle.html#removeEventListener(org.eclipse.jetty.util.component.Container.Listener)">removeEventListener</a>, <a href="../util/component/ContainerLifeCycle.html#setBeans(java.util.Collection)">setBeans</a>, <a href="../util/component/ContainerLifeCycle.html#setStopTimeout(long)">setStopTimeout</a>, <a href="../util/component/ContainerLifeCycle.html#start(org.eclipse.jetty.util.component.LifeCycle)">start</a>, <a href="../util/component/ContainerLifeCycle.html#stop(org.eclipse.jetty.util.component.LifeCycle)">stop</a>, <a href="../util/component/ContainerLifeCycle.html#unmanage(java.lang.Object)">unmanage</a>, <a href="../util/component/ContainerLifeCycle.html#updateBean(java.lang.Object,java.lang.Object)">updateBean</a>, <a href="../util/component/ContainerLifeCycle.html#updateBean(java.lang.Object,java.lang.Object,boolean)">updateBean</a>, <a href="../util/component/ContainerLifeCycle.html#updateBeans(java.lang.Object%5B%5D,java.lang.Object%5B%5D)">updateBeans</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../util/component/AbstractLifeCycle.html#addLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">addLifeCycleListener</a>, <a href="../util/component/AbstractLifeCycle.html#getState()">getState</a>, <a href="../util/component/AbstractLifeCycle.html#getState(org.eclipse.jetty.util.component.LifeCycle)">getState</a>, <a href="../util/component/AbstractLifeCycle.html#getStopTimeout()">getStopTimeout</a>, <a href="../util/component/AbstractLifeCycle.html#isFailed()">isFailed</a>, <a href="../util/component/AbstractLifeCycle.html#isRunning()">isRunning</a>, <a href="../util/component/AbstractLifeCycle.html#isStarted()">isStarted</a>, <a href="../util/component/AbstractLifeCycle.html#isStarting()">isStarting</a>, <a href="../util/component/AbstractLifeCycle.html#isStopped()">isStopped</a>, <a href="../util/component/AbstractLifeCycle.html#isStopping()">isStopping</a>, <a href="../util/component/AbstractLifeCycle.html#removeLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">removeLifeCycleListener</a>, <a href="../util/component/AbstractLifeCycle.html#start()">start</a>, <a href="../util/component/AbstractLifeCycle.html#stop()">stop</a>, <a href="../util/component/AbstractLifeCycle.html#toString()">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../util/component/Dumpable.html#dumpSelf()">dumpSelf</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.Dumpable.DumpableContainer">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></h3>
<code><a href="../util/component/Dumpable.DumpableContainer.html#isDumpable(java.lang.Object)">isDumpable</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.LifeCycle">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></h3>
<code><a href="../util/component/LifeCycle.html#addLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">addLifeCycleListener</a>, <a href="../util/component/LifeCycle.html#isFailed()">isFailed</a>, <a href="../util/component/LifeCycle.html#isRunning()">isRunning</a>, <a href="../util/component/LifeCycle.html#isStarted()">isStarted</a>, <a href="../util/component/LifeCycle.html#isStarting()">isStarting</a>, <a href="../util/component/LifeCycle.html#isStopped()">isStopped</a>, <a href="../util/component/LifeCycle.html#isStopping()">isStopping</a>, <a href="../util/component/LifeCycle.html#removeLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">removeLifeCycleListener</a>, <a href="../util/component/LifeCycle.html#start()">start</a>, <a href="../util/component/LifeCycle.html#stop()">stop</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ConstraintSecurityHandler</h4>
<pre>public&nbsp;ConstraintSecurityHandler()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="createConstraint()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createConstraint</h4>
<pre class="methodSignature">public static&nbsp;<a href="../util/security/Constraint.html" title="class in org.eclipse.jetty.util.security">Constraint</a>&nbsp;createConstraint()</pre>
</li>
</ul>
<a id="createConstraint(org.eclipse.jetty.util.security.Constraint)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createConstraint</h4>
<pre class="methodSignature">public static&nbsp;<a href="../util/security/Constraint.html" title="class in org.eclipse.jetty.util.security">Constraint</a>&nbsp;createConstraint&#8203;(<a href="../util/security/Constraint.html" title="class in org.eclipse.jetty.util.security">Constraint</a>&nbsp;constraint)</pre>
</li>
</ul>
<a id="createConstraint(java.lang.String,boolean,java.lang.String[],int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createConstraint</h4>
<pre class="methodSignature">public static&nbsp;<a href="../util/security/Constraint.html" title="class in org.eclipse.jetty.util.security">Constraint</a>&nbsp;createConstraint&#8203;(java.lang.String&nbsp;name,
boolean&nbsp;authenticate,
java.lang.String[]&nbsp;roles,
int&nbsp;dataConstraint)</pre>
<div class="block">Create a security constraint</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the constraint</dd>
<dd><code>authenticate</code> - true to authenticate</dd>
<dd><code>roles</code> - list of roles</dd>
<dd><code>dataConstraint</code> - the data constraint</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the constraint</dd>
</dl>
</li>
</ul>
<a id="createConstraint(java.lang.String,javax.servlet.HttpConstraintElement)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createConstraint</h4>
<pre class="methodSignature">public static&nbsp;<a href="../util/security/Constraint.html" title="class in org.eclipse.jetty.util.security">Constraint</a>&nbsp;createConstraint&#8203;(java.lang.String&nbsp;name,
javax.servlet.HttpConstraintElement&nbsp;element)</pre>
<div class="block">Create a Constraint</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name</dd>
<dd><code>element</code> - the http constraint element</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the created constraint</dd>
</dl>
</li>
</ul>
<a id="createConstraint(java.lang.String,java.lang.String[],javax.servlet.annotation.ServletSecurity.EmptyRoleSemantic,javax.servlet.annotation.ServletSecurity.TransportGuarantee)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createConstraint</h4>
<pre class="methodSignature">public static&nbsp;<a href="../util/security/Constraint.html" title="class in org.eclipse.jetty.util.security">Constraint</a>&nbsp;createConstraint&#8203;(java.lang.String&nbsp;name,
java.lang.String[]&nbsp;rolesAllowed,
javax.servlet.annotation.ServletSecurity.EmptyRoleSemantic&nbsp;permitOrDeny,
javax.servlet.annotation.ServletSecurity.TransportGuarantee&nbsp;transport)</pre>
<div class="block">Create Constraint</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name</dd>
<dd><code>rolesAllowed</code> - the list of allowed roles</dd>
<dd><code>permitOrDeny</code> - the permission semantic</dd>
<dd><code>transport</code> - the transport guarantee</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the created constraint</dd>
</dl>
</li>
</ul>
<a id="getConstraintMappingsForPath(java.lang.String,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConstraintMappingsForPath</h4>
<pre class="methodSignature">public static&nbsp;java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;&nbsp;getConstraintMappingsForPath&#8203;(java.lang.String&nbsp;pathSpec,
java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;&nbsp;constraintMappings)</pre>
</li>
</ul>
<a id="removeConstraintMappingsForPath(java.lang.String,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeConstraintMappingsForPath</h4>
<pre class="methodSignature">public static&nbsp;java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;&nbsp;removeConstraintMappingsForPath&#8203;(java.lang.String&nbsp;pathSpec,
java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;&nbsp;constraintMappings)</pre>
<div class="block">Take out of the constraint mappings those that match the
given path.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pathSpec</code> - the path spec</dd>
<dd><code>constraintMappings</code> - a new list minus the matching constraints</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of constraint mappings</dd>
</dl>
</li>
</ul>
<a id="createConstraintsWithMappingsForPath(java.lang.String,java.lang.String,javax.servlet.ServletSecurityElement)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createConstraintsWithMappingsForPath</h4>
<pre class="methodSignature">public static&nbsp;java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;&nbsp;createConstraintsWithMappingsForPath&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;pathSpec,
javax.servlet.ServletSecurityElement&nbsp;securityElement)</pre>
<div class="block">Generate Constraints and ContraintMappings for the given url pattern and ServletSecurityElement</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name</dd>
<dd><code>pathSpec</code> - the path spec</dd>
<dd><code>securityElement</code> - the servlet security element</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of constraint mappings</dd>
</dl>
</li>
</ul>
<a id="getConstraintMappings()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConstraintMappings</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;&nbsp;getConstraintMappings()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ConstraintAware.html#getConstraintMappings()">getConstraintMappings</a></code>&nbsp;in interface&nbsp;<code><a href="ConstraintAware.html" title="interface in org.eclipse.jetty.security">ConstraintAware</a></code></dd>
</dl>
</li>
</ul>
<a id="getRoles()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRoles</h4>
<pre class="methodSignature">public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getRoles()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ConstraintAware.html#getRoles()">getRoles</a></code>&nbsp;in interface&nbsp;<code><a href="ConstraintAware.html" title="interface in org.eclipse.jetty.security">ConstraintAware</a></code></dd>
</dl>
</li>
</ul>
<a id="setConstraintMappings(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConstraintMappings</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setConstraintMappings&#8203;(java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;&nbsp;constraintMappings)</pre>
<div class="block">Process the constraints following the combining rules in Servlet 3.0 EA
spec section 13.7.1 Note that much of the logic is in the RoleInfo class.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>constraintMappings</code> - The constraintMappings to set, from which the set of known roles
is determined.</dd>
</dl>
</li>
</ul>
<a id="setConstraintMappings(org.eclipse.jetty.security.ConstraintMapping[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConstraintMappings</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setConstraintMappings&#8203;(<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>[]&nbsp;constraintMappings)</pre>
<div class="block">Process the constraints following the combining rules in Servlet 3.0 EA
spec section 13.7.1 Note that much of the logic is in the RoleInfo class.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>constraintMappings</code> - The constraintMappings to set as array, from which the set of known roles
is determined. Needed to retain API compatibility for 7.x</dd>
</dl>
</li>
</ul>
<a id="setConstraintMappings(java.util.List,java.util.Set)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConstraintMappings</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setConstraintMappings&#8203;(java.util.List&lt;<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&gt;&nbsp;constraintMappings,
java.util.Set&lt;java.lang.String&gt;&nbsp;roles)</pre>
<div class="block">Process the constraints following the combining rules in Servlet 3.0 EA
spec section 13.7.1 Note that much of the logic is in the RoleInfo class.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ConstraintAware.html#setConstraintMappings(java.util.List,java.util.Set)">setConstraintMappings</a></code>&nbsp;in interface&nbsp;<code><a href="ConstraintAware.html" title="interface in org.eclipse.jetty.security">ConstraintAware</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>constraintMappings</code> - The constraintMappings to set.</dd>
<dd><code>roles</code> - The known roles (or null to determine them from the mappings)</dd>
</dl>
</li>
</ul>
<a id="setRoles(java.util.Set)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRoles</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setRoles&#8203;(java.util.Set&lt;java.lang.String&gt;&nbsp;roles)</pre>
<div class="block">Set the known roles.
This may be overridden by a subsequent call to <a href="#setConstraintMappings(org.eclipse.jetty.security.ConstraintMapping%5B%5D)"><code>setConstraintMappings(ConstraintMapping[])</code></a> or
<a href="#setConstraintMappings(java.util.List,java.util.Set)"><code>setConstraintMappings(List, Set)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>roles</code> - The known roles (or null to determine them from the mappings)</dd>
</dl>
</li>
</ul>
<a id="addConstraintMapping(org.eclipse.jetty.security.ConstraintMapping)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addConstraintMapping</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addConstraintMapping&#8203;(<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&nbsp;mapping)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ConstraintAware.html#addConstraintMapping(org.eclipse.jetty.security.ConstraintMapping)">ConstraintAware</a></code></span></div>
<div class="block">Add a Constraint Mapping.
May be called for running webapplication as an annotated servlet is instantiated.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ConstraintAware.html#addConstraintMapping(org.eclipse.jetty.security.ConstraintMapping)">addConstraintMapping</a></code>&nbsp;in interface&nbsp;<code><a href="ConstraintAware.html" title="interface in org.eclipse.jetty.security">ConstraintAware</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mapping</code> - the mapping</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ConstraintAware.html#addConstraintMapping(org.eclipse.jetty.security.ConstraintMapping)"><code>ConstraintAware.addConstraintMapping(org.eclipse.jetty.security.ConstraintMapping)</code></a></dd>
</dl>
</li>
</ul>
<a id="addRole(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRole</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addRole&#8203;(java.lang.String&nbsp;role)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ConstraintAware.html#addRole(java.lang.String)">ConstraintAware</a></code></span></div>
<div class="block">Add a Role definition.
May be called on running webapplication as an annotated servlet is instantiated.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ConstraintAware.html#addRole(java.lang.String)">addRole</a></code>&nbsp;in interface&nbsp;<code><a href="ConstraintAware.html" title="interface in org.eclipse.jetty.security">ConstraintAware</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>role</code> - the role</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ConstraintAware.html#addRole(java.lang.String)"><code>ConstraintAware.addRole(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a id="doStart()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doStart</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;doStart()
throws java.lang.Exception</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../util/component/ContainerLifeCycle.html#doStart()">ContainerLifeCycle</a></code></span></div>
<div class="block">Starts the managed lifecycle beans in the order they were added.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="SecurityHandler.html#doStart()">doStart</a></code>&nbsp;in class&nbsp;<code><a href="SecurityHandler.html" title="class in org.eclipse.jetty.security">SecurityHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="SecurityHandler.html#doStart()"><code>SecurityHandler.doStart()</code></a></dd>
</dl>
</li>
</ul>
<a id="doStop()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doStop</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;doStop()
throws java.lang.Exception</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../util/component/ContainerLifeCycle.html#doStop()">ContainerLifeCycle</a></code></span></div>
<div class="block">Stops the managed lifecycle beans in the reverse order they were added.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="SecurityHandler.html#doStop()">doStop</a></code>&nbsp;in class&nbsp;<code><a href="SecurityHandler.html" title="class in org.eclipse.jetty.security">SecurityHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="processConstraintMapping(org.eclipse.jetty.security.ConstraintMapping)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>processConstraintMapping</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;processConstraintMapping&#8203;(<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&nbsp;mapping)</pre>
<div class="block">Create and combine the constraint with the existing processed
constraints.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mapping</code> - the constraint mapping</dd>
</dl>
</li>
</ul>
<a id="processConstraintMappingWithMethodOmissions(org.eclipse.jetty.security.ConstraintMapping,java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>processConstraintMappingWithMethodOmissions</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;processConstraintMappingWithMethodOmissions&#8203;(<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&nbsp;mapping,
java.util.Map&lt;java.lang.String,&#8203;<a href="RoleInfo.html" title="class in org.eclipse.jetty.security">RoleInfo</a>&gt;&nbsp;mappings)</pre>
<div class="block">Constraints that name method omissions are dealt with differently.
We create an entry in the mappings with key "&lt;method&gt;.omission". This entry
is only ever combined with other omissions for the same method to produce a
consolidated RoleInfo. Then, when we wish to find the relevant constraints for
a given Request (in prepareConstraintInfo()), we consult 3 types of entries in
the mappings: an entry that names the method of the Request specifically, an
entry that names constraints that apply to all methods, entries of the form
&lt;method&gt;.omission, where the method of the Request is not named in the omission.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mapping</code> - the constraint mapping</dd>
<dd><code>mappings</code> - the mappings of roles</dd>
</dl>
</li>
</ul>
<a id="configureRoleInfo(org.eclipse.jetty.security.RoleInfo,org.eclipse.jetty.security.ConstraintMapping)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configureRoleInfo</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;configureRoleInfo&#8203;(<a href="RoleInfo.html" title="class in org.eclipse.jetty.security">RoleInfo</a>&nbsp;ri,
<a href="ConstraintMapping.html" title="class in org.eclipse.jetty.security">ConstraintMapping</a>&nbsp;mapping)</pre>
<div class="block">Initialize or update the RoleInfo from the constraint</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ri</code> - the role info</dd>
<dd><code>mapping</code> - the constraint mapping</dd>
</dl>
</li>
</ul>
<a id="prepareConstraintInfo(java.lang.String,org.eclipse.jetty.server.Request)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareConstraintInfo</h4>
<pre class="methodSignature">protected&nbsp;<a href="RoleInfo.html" title="class in org.eclipse.jetty.security">RoleInfo</a>&nbsp;prepareConstraintInfo&#8203;(java.lang.String&nbsp;pathInContext,
<a href="../server/Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;request)</pre>
<div class="block">Find constraints that apply to the given path.
In order to do this, we consult 3 different types of information stored in the mappings for each path - each mapping
represents a merged set of user data constraints, roles etc -:
<ol>
<li>A mapping of an exact method name </li>
<li>A mapping with key * that matches every method name</li>
<li>Mappings with keys of the form "&lt;method&gt;.&lt;method&gt;.&lt;method&gt;.omission" that indicates it will match every method name EXCEPT those given</li>
</ol></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SecurityHandler.html#prepareConstraintInfo(java.lang.String,org.eclipse.jetty.server.Request)">prepareConstraintInfo</a></code>&nbsp;in class&nbsp;<code><a href="SecurityHandler.html" title="class in org.eclipse.jetty.security">SecurityHandler</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="SecurityHandler.html#prepareConstraintInfo(java.lang.String,org.eclipse.jetty.server.Request)"><code>SecurityHandler.prepareConstraintInfo(java.lang.String, org.eclipse.jetty.server.Request)</code></a></dd>
</dl>
</li>
</ul>
<a id="checkUserDataPermissions(java.lang.String,org.eclipse.jetty.server.Request,org.eclipse.jetty.server.Response,org.eclipse.jetty.security.RoleInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkUserDataPermissions</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;checkUserDataPermissions&#8203;(java.lang.String&nbsp;pathInContext,
<a href="../server/Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;request,
<a href="../server/Response.html" title="class in org.eclipse.jetty.server">Response</a>&nbsp;response,
<a href="RoleInfo.html" title="class in org.eclipse.jetty.security">RoleInfo</a>&nbsp;roleInfo)
throws java.io.IOException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SecurityHandler.html#checkUserDataPermissions(java.lang.String,org.eclipse.jetty.server.Request,org.eclipse.jetty.server.Response,org.eclipse.jetty.security.RoleInfo)">checkUserDataPermissions</a></code>&nbsp;in class&nbsp;<code><a href="SecurityHandler.html" title="class in org.eclipse.jetty.security">SecurityHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a id="isAuthMandatory(org.eclipse.jetty.server.Request,org.eclipse.jetty.server.Response,java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAuthMandatory</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;isAuthMandatory&#8203;(<a href="../server/Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;baseRequest,
<a href="../server/Response.html" title="class in org.eclipse.jetty.server">Response</a>&nbsp;baseResponse,
java.lang.Object&nbsp;constraintInfo)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SecurityHandler.html#isAuthMandatory(org.eclipse.jetty.server.Request,org.eclipse.jetty.server.Response,java.lang.Object)">isAuthMandatory</a></code>&nbsp;in class&nbsp;<code><a href="SecurityHandler.html" title="class in org.eclipse.jetty.security">SecurityHandler</a></code></dd>
</dl>
</li>
</ul>
<a id="checkWebResourcePermissions(java.lang.String,org.eclipse.jetty.server.Request,org.eclipse.jetty.server.Response,java.lang.Object,org.eclipse.jetty.server.UserIdentity)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkWebResourcePermissions</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;checkWebResourcePermissions&#8203;(java.lang.String&nbsp;pathInContext,
<a href="../server/Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;request,
<a href="../server/Response.html" title="class in org.eclipse.jetty.server">Response</a>&nbsp;response,
java.lang.Object&nbsp;constraintInfo,
<a href="../server/UserIdentity.html" title="interface in org.eclipse.jetty.server">UserIdentity</a>&nbsp;userIdentity)
throws java.io.IOException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="SecurityHandler.html#checkWebResourcePermissions(java.lang.String,org.eclipse.jetty.server.Request,org.eclipse.jetty.server.Response,java.lang.Object,org.eclipse.jetty.server.UserIdentity)">checkWebResourcePermissions</a></code>&nbsp;in class&nbsp;<code><a href="SecurityHandler.html" title="class in org.eclipse.jetty.security">SecurityHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="SecurityHandler.html#checkWebResourcePermissions(java.lang.String,org.eclipse.jetty.server.Request,org.eclipse.jetty.server.Response,java.lang.Object,org.eclipse.jetty.server.UserIdentity)"><code>SecurityHandler.checkWebResourcePermissions(java.lang.String, org.eclipse.jetty.server.Request, org.eclipse.jetty.server.Response, java.lang.Object, org.eclipse.jetty.server.UserIdentity)</code></a></dd>
</dl>
</li>
</ul>
<a id="dump(java.lang.Appendable,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dump</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;dump&#8203;(java.lang.Appendable&nbsp;out,
java.lang.String&nbsp;indent)
throws java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../util/component/Dumpable.html#dump(java.lang.Appendable,java.lang.String)">Dumpable</a></code></span></div>
<div class="block">Dump this object (and children) into an Appendable using the provided indent after any new lines.
The indent should not be applied to the first object dumped.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/component/Dumpable.html#dump(java.lang.Appendable,java.lang.String)">dump</a></code>&nbsp;in interface&nbsp;<code><a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../util/component/ContainerLifeCycle.html#dump(java.lang.Appendable,java.lang.String)">dump</a></code>&nbsp;in class&nbsp;<code><a href="../util/component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">ContainerLifeCycle</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>out</code> - The appendable to dump to</dd>
<dd><code>indent</code> - The indent to apply after any new lines.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to write to Appendable</dd>
</dl>
</li>
</ul>
<a id="setDenyUncoveredHttpMethods(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDenyUncoveredHttpMethods</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setDenyUncoveredHttpMethods&#8203;(boolean&nbsp;deny)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ConstraintAware.html#setDenyUncoveredHttpMethods(boolean)">ConstraintAware</a></code></span></div>
<div class="block">See Servlet Spec 31, sec 13.8.4, pg 145
When true, requests with http methods not explicitly covered either by inclusion or omissions
in constraints, will have access denied.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ConstraintAware.html#setDenyUncoveredHttpMethods(boolean)">setDenyUncoveredHttpMethods</a></code>&nbsp;in interface&nbsp;<code><a href="ConstraintAware.html" title="interface in org.eclipse.jetty.security">ConstraintAware</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>deny</code> - true for denied method access</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ConstraintAware.html#setDenyUncoveredHttpMethods(boolean)"><code>ConstraintAware.setDenyUncoveredHttpMethods(boolean)</code></a></dd>
</dl>
</li>
</ul>
<a id="isDenyUncoveredHttpMethods()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDenyUncoveredHttpMethods</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isDenyUncoveredHttpMethods()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ConstraintAware.html#isDenyUncoveredHttpMethods()">isDenyUncoveredHttpMethods</a></code>&nbsp;in interface&nbsp;<code><a href="ConstraintAware.html" title="interface in org.eclipse.jetty.security">ConstraintAware</a></code></dd>
</dl>
</li>
</ul>
<a id="checkPathsWithUncoveredHttpMethods()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPathsWithUncoveredHttpMethods</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;checkPathsWithUncoveredHttpMethods()</pre>
<div class="block">Servlet spec 3.1 pg. 147.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ConstraintAware.html#checkPathsWithUncoveredHttpMethods()">checkPathsWithUncoveredHttpMethods</a></code>&nbsp;in interface&nbsp;<code><a href="ConstraintAware.html" title="interface in org.eclipse.jetty.security">ConstraintAware</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if urls with uncovered http methods</dd>
</dl>
</li>
</ul>
<a id="getPathsWithUncoveredHttpMethods()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPathsWithUncoveredHttpMethods</h4>
<pre class="methodSignature">public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getPathsWithUncoveredHttpMethods()</pre>
<div class="block">Servlet spec 3.1 pg. 147.
The container must check all the combined security constraint
information and log any methods that are not protected and the
urls at which they are not protected</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of paths for which there are uncovered methods</dd>
</dl>
</li>
</ul>
<a id="omissionsExist(java.lang.String,java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>omissionsExist</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;omissionsExist&#8203;(java.lang.String&nbsp;path,
java.util.Map&lt;java.lang.String,&#8203;<a href="RoleInfo.html" title="class in org.eclipse.jetty.security">RoleInfo</a>&gt;&nbsp;methodMappings)</pre>
<div class="block">Check if any http method omissions exist in the list of method
to auth info mappings.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - the path</dd>
<dd><code>methodMappings</code> - the method mappings</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if omission exist</dd>
</dl>
</li>
</ul>
<a id="getOmittedMethods(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getOmittedMethods</h4>
<pre class="methodSignature">protected&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getOmittedMethods&#8203;(java.lang.String&nbsp;omission)</pre>
<div class="block">Given a string of the form <code>&lt;method&gt;.&lt;method&gt;.omission</code>
split out the individual method names.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>omission</code> - the method</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of strings</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ConstraintSecurityHandler.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 1995&#x2013;2021 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>