<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.14.1) on Mon Apr 04 09:09:38 CDT 2022 -->
<title>ConstraintSecurityHandler (Eclipse Jetty API Doc - v10.0.9)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-04-04">
<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 (Eclipse Jetty API Doc - v10.0.9)";
        }
    }
    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 = true;
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>, <a href="../util/component/AbstractLifeCycle.StopException.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle.StopException</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#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#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(java.util.EventListener)">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#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#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(java.util.EventListener)">removeEventListener</a>, <a href="../util/component/ContainerLifeCycle.html#setBeans(java.util.Collection)">setBeans</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>, <a href="../util/component/ContainerLifeCycle.html#updateBeans(java.util.Collection,java.util.Collection)">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#getEventListeners()">getEventListeners</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#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#setEventListeners(java.util.Collection)">setEventListeners</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.Container">
<!--   -->
</a>
<h3>Methods 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.html#getCachedBeans(java.lang.Class)">getCachedBeans</a>, <a href="../util/component/Container.html#getEventListeners()">getEventListeners</a></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#addEventListener(java.util.EventListener)">addEventListener</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#removeEventListener(java.util.EventListener)">removeEventListener</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>
</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>
</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><a href="../util/component/AbstractLifeCycle.StopException.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle.StopException</a></code> - If thrown, the lifecycle will immediately be stopped.</dd>
<dd><code>java.lang.Exception</code> - If there was a problem starting. Will cause a transition to FAILED state</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> - If there was a problem stopping. Will cause a transition to FAILED state</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>
</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>
</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;2022 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
