blob: e7e14dbfed31ee31bcb3f0d29d5651566290dbdc [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>HttpConstraint</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<link rel="shortcut icon" href="/img/jakarta-favicon.ico">
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="HttpConstraint";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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">
<li><a href="../../../javax/servlet/annotation/HandlesTypes.html" title="annotation in javax.servlet.annotation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../javax/servlet/annotation/HttpMethodConstraint.html" title="annotation in javax.servlet.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/servlet/annotation/HttpConstraint.html" target="_top">Frames</a></li>
<li><a href="HttpConstraint.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">javax.servlet.annotation</div>
<h2 title="Annotation Type HttpConstraint" class="title">Annotation Type HttpConstraint</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@Documented
@Retention(value=RUNTIME)
public @interface <span class="memberNameLabel">HttpConstraint</span></pre>
<div class="block">This annotation is used within the <a href="../../../javax/servlet/annotation/ServletSecurity.html" title="annotation in javax.servlet.annotation"><code>ServletSecurity</code></a> annotation to represent the security constraints to be
applied to all HTTP protocol methods for which a corresponding <a href="../../../javax/servlet/annotation/HttpMethodConstraint.html" title="annotation in javax.servlet.annotation"><code>HttpMethodConstraint</code></a> element does NOT occur
within the <a href="../../../javax/servlet/annotation/ServletSecurity.html" title="annotation in javax.servlet.annotation"><code>ServletSecurity</code></a> annotation.
<p>
For the special case where an <code>@HttpConstraint</code> that returns all default values occurs in combination with
at least one <a href="../../../javax/servlet/annotation/HttpMethodConstraint.html" title="annotation in javax.servlet.annotation"><code>HttpMethodConstraint</code></a> that returns other than all default values, the
<code>@HttpConstraint</code> represents that no security constraint is to be applied to any of the HTTP protocol
methods to which a security constraint would otherwise apply. This exception is made to ensure that such potentially
non-specific uses of <code>@HttpConstraint</code> do not yield constraints that will explicitly establish unprotected
access for such methods; given that they would not otherwise be covered by a constraint.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Servlet 3.0</dd>
<dt><span class="simpleTagLabel">Examples (en):</span></dt>
<dd><a href="../../../../../../tomee-8.0/examples/security-custom-identitystore.html">security-custom-identitystore</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.optional.element.summary">
<!-- -->
</a>
<h3>Optional Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/servlet/annotation/HttpConstraint.html#rolesAllowed--">rolesAllowed</a></span></code>
<div class="block">The names of the authorized roles.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../javax/servlet/annotation/ServletSecurity.TransportGuarantee.html" title="enum in javax.servlet.annotation">ServletSecurity.TransportGuarantee</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/servlet/annotation/HttpConstraint.html#transportGuarantee--">transportGuarantee</a></span></code>
<div class="block">The data protection requirements (i.e., whether or not SSL/TLS is required) that must be satisfied by the
connections on which requests arrive.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../javax/servlet/annotation/ServletSecurity.EmptyRoleSemantic.html" title="enum in javax.servlet.annotation">ServletSecurity.EmptyRoleSemantic</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/servlet/annotation/HttpConstraint.html#value--">value</a></span></code>
<div class="block">The default authorization semantic.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.element.detail">
<!-- -->
</a>
<h3>Element Detail</h3>
<a name="value--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>value</h4>
<pre>public abstract&nbsp;<a href="../../../javax/servlet/annotation/ServletSecurity.EmptyRoleSemantic.html" title="enum in javax.servlet.annotation">ServletSecurity.EmptyRoleSemantic</a>&nbsp;value</pre>
<div class="block">The default authorization semantic. This value is insignificant when <code>rolesAllowed</code> returns a
non-empty array, and should not be specified when a non-empty array is specified for <tt>rolesAllowed</tt>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../javax/servlet/annotation/ServletSecurity.EmptyRoleSemantic.html" title="enum in javax.servlet.annotation"><code>ServletSecurity.EmptyRoleSemantic</code></a> to be applied when <code>rolesAllowed</code> returns an empty (that is,
zero-length) array.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>javax.servlet.annotation.ServletSecurity.EmptyRoleSemantic.PERMIT</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="transportGuarantee--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transportGuarantee</h4>
<pre>public abstract&nbsp;<a href="../../../javax/servlet/annotation/ServletSecurity.TransportGuarantee.html" title="enum in javax.servlet.annotation">ServletSecurity.TransportGuarantee</a>&nbsp;transportGuarantee</pre>
<div class="block">The data protection requirements (i.e., whether or not SSL/TLS is required) that must be satisfied by the
connections on which requests arrive.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../javax/servlet/annotation/ServletSecurity.TransportGuarantee.html" title="enum in javax.servlet.annotation"><code>ServletSecurity.TransportGuarantee</code></a> indicating the data protection that must be provided by the connection.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>javax.servlet.annotation.ServletSecurity.TransportGuarantee.NONE</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="rolesAllowed--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>rolesAllowed</h4>
<pre>public abstract&nbsp;java.lang.String[]&nbsp;rolesAllowed</pre>
<div class="block">The names of the authorized roles.
Duplicate role names appearing in rolesAllowed are insignificant and may be discarded during runtime processing
of the annotation. The String <tt>"*"</tt> has no special meaning as a role name (should it occur in
rolesAllowed).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array of zero or more role names. When the array contains zero elements, its meaning depends on the
<code>EmptyRoleSemantic</code> returned by the <code>value</code> method. If <code>value</code> returns
<tt>DENY</tt>, and <code>rolesAllowed</code> returns a zero length array, access is to be denied
independent of authentication state and identity. Conversely, if <code>value</code> returns
<code>PERMIT</code>, it indicates that access is to be allowed independent of authentication state and
identity. When the array contains the names of one or more roles, it indicates that access is contingent
on membership in at least one of the named roles (independent of the <code>EmptyRoleSemantic</code>
returned by the <code>value</code> method).</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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">
<li><a href="../../../javax/servlet/annotation/HandlesTypes.html" title="annotation in javax.servlet.annotation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../javax/servlet/annotation/HttpMethodConstraint.html" title="annotation in javax.servlet.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/servlet/annotation/HttpConstraint.html" target="_top">Frames</a></li>
<li><a href="HttpConstraint.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>