| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="fr"> |
| <head> |
| <!-- Generated by javadoc (11.0.8) on Wed Oct 28 15:54:15 CET 2020 --> |
| <title>AbstractRememberMeManager (Apache Shiro 1.7.0 API)</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="dc.created" content="2020-10-28"> |
| <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.3.1.js"></script> |
| <script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.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="AbstractRememberMeManager (Apache Shiro 1.7.0 API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":6,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":6,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":6,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10}; |
| var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/AbstractRememberMeManager.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 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: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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"> </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> <a href="package-summary.html">org.apache.shiro.mgt</a></div> |
| <h2 title="Class AbstractRememberMeManager" class="title">Class AbstractRememberMeManager</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.shiro.mgt.AbstractRememberMeManager</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><code><a href="RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</a></code></dd> |
| </dl> |
| <dl> |
| <dt>Direct Known Subclasses:</dt> |
| <dd><code><a href="../web/mgt/CookieRememberMeManager.html" title="class in org.apache.shiro.web.mgt">CookieRememberMeManager</a></code></dd> |
| </dl> |
| <hr> |
| <pre>public abstract class <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.64">AbstractRememberMeManager</a> |
| extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a> |
| implements <a href="RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</a></pre> |
| <div class="block">Abstract implementation of the <code>RememberMeManager</code> interface that handles |
| <a href="#setSerializer(org.apache.shiro.io.Serializer)"><code>serialization</code></a> and |
| <a href="#setCipherService(org.apache.shiro.crypto.CipherService)"><code>encryption</code></a> of the remembered user identity. |
| <p/> |
| The remembered identity storage location and details are left to subclasses. |
| <h2>Default encryption key</h2> |
| This implementation uses an <a href="../crypto/AesCipherService.html" title="class in org.apache.shiro.crypto"><code>AesCipherService</code></a> for strong encryption by default. It also |
| uses a default generated symmetric key to both encrypt and decrypt data. As AES is a symmetric cipher, the same |
| <code>key</code> is used to both encrypt and decrypt data, BUT NOTE: |
| <p/> |
| Because Shiro is an open-source project, if anyone knew that you were using Shiro's default |
| <code>key</code>, they could download/view the source, and with enough effort, reconstruct the <code>key</code> |
| and decode encrypted data at will. |
| <p/> |
| Of course, this key is only really used to encrypt the remembered <code>PrincipalCollection</code> which is typically |
| a user id or username. So if you do not consider that sensitive information, and you think the default key still |
| makes things 'sufficiently difficult', then you can ignore this issue. |
| <p/> |
| However, if you do feel this constitutes sensitive information, it is recommended that you provide your own |
| <code>key</code> via the <a href="#setCipherKey(byte%5B%5D)"><code>setCipherKey</code></a> method to a key known only to your application, |
| guaranteeing that no third party can decrypt your data. You can generate your own key by calling the |
| <code>CipherService</code>'s <a href="../crypto/AbstractSymmetricCipherService.html#generateNewKey()"><code>generateNewKey</code></a> method |
| and using that result as the <a href="#setCipherKey(byte%5B%5D)"><code>cipherKey</code></a> configuration attribute.</div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>0.9</dd> |
| </dl> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== 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"> </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()">AbstractRememberMeManager</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Default constructor that initializes a <a href="../io/DefaultSerializer.html" title="class in org.apache.shiro.io"><code>DefaultSerializer</code></a> as the <a href="#getSerializer()"><code>serializer</code></a> and |
| an <a href="../crypto/AesCipherService.html" title="class in org.apache.shiro.crypto"><code>AesCipherService</code></a> as the <a href="#getCipherService()"><code>cipherService</code></a>.</div> |
| </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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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>protected <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertBytesToPrincipals(byte%5B%5D,org.apache.shiro.subject.SubjectContext)">convertBytesToPrincipals</a></span>​(byte[] bytes, |
| <a href="../subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a> subjectContext)</code></th> |
| <td class="colLast"> |
| <div class="block">If a <a href="#getCipherService()"><code>cipherService</code></a> is available, it will be used to first decrypt the byte array.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>protected byte[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertPrincipalsToBytes(org.apache.shiro.subject.PrincipalCollection)">convertPrincipalsToBytes</a></span>​(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> principals)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts the given principal collection the byte array that will be persisted to be 'remembered' later.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>protected byte[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#decrypt(byte%5B%5D)">decrypt</a></span>​(byte[] encrypted)</code></th> |
| <td class="colLast"> |
| <div class="block">Decrypts the byte array using the configured <a href="#getCipherService()"><code>cipherService</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>protected <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deserialize(byte%5B%5D)">deserialize</a></span>​(byte[] serializedIdentity)</code></th> |
| <td class="colLast"> |
| <div class="block">De-serializes the given byte array by using the <a href="#getSerializer()"><code>serializer</code></a>'s |
| <a href="../io/Serializer.html#deserialize(byte%5B%5D)"><code>deserialize</code></a> method.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>protected byte[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#encrypt(byte%5B%5D)">encrypt</a></span>​(byte[] serialized)</code></th> |
| <td class="colLast"> |
| <div class="block">Encrypts the byte array by using the configured <a href="#getCipherService()"><code>cipherService</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>protected abstract void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#forgetIdentity(org.apache.shiro.subject.Subject)">forgetIdentity</a></span>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject)</code></th> |
| <td class="colLast"> |
| <div class="block">Forgets (removes) any remembered identity data for the specified <a href="../subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>byte[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCipherKey()">getCipherKey</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Convenience method that returns the cipher key to use for <em>both</em> encryption and decryption.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code><a href="../crypto/CipherService.html" title="interface in org.apache.shiro.crypto">CipherService</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCipherService()">getCipherService</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the <code>CipherService</code> to use for encrypting and decrypting serialized identity data to prevent easy |
| inspection of Subject identity data.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>byte[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDecryptionCipherKey()">getDecryptionCipherKey</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the decryption cipher key to use for decryption operations.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>byte[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEncryptionCipherKey()">getEncryptionCipherKey</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the cipher key to use for encryption operations.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>protected <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIdentityToRemember(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationInfo)">getIdentityToRemember</a></span>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject, |
| <a href="../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a> info)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns <code>info</code>.<a href="../authc/AuthenticationInfo.html#getPrincipals()"><code>getPrincipals()</code></a> and |
| ignores the <a href="../subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> argument.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code><a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRememberedPrincipals(org.apache.shiro.subject.SubjectContext)">getRememberedPrincipals</a></span>​(<a href="../subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a> subjectContext)</code></th> |
| <td class="colLast"> |
| <div class="block">Implements the interface method by first <a href="#getRememberedSerializedIdentity(org.apache.shiro.subject.SubjectContext)"><code>acquiring</code></a> |
| the remembered serialized byte array.</div> |
| </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>protected abstract byte[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRememberedSerializedIdentity(org.apache.shiro.subject.SubjectContext)">getRememberedSerializedIdentity</a></span>​(<a href="../subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a> subjectContext)</code></th> |
| <td class="colLast"> |
| <div class="block">Based on the given subject context data, retrieves the previously persisted serialized identity, or |
| <code>null</code> if there is no available data.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code><a href="../io/Serializer.html" title="interface in org.apache.shiro.io">Serializer</a><<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSerializer()">getSerializer</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the <code>Serializer</code> used to serialize and deserialize <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a> instances for |
| persistent remember me storage.</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code>protected boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRememberMe(org.apache.shiro.authc.AuthenticationToken)">isRememberMe</a></span>​(<a href="../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a> token)</code></th> |
| <td class="colLast"> |
| <div class="block">Determines whether or not remember me services should be performed for the specified token.</div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onFailedLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException)">onFailedLogin</a></span>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject, |
| <a href="../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a> token, |
| <a href="../authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a> ae)</code></th> |
| <td class="colLast"> |
| <div class="block">Reacts to a failed login by immediately <a href="#forgetIdentity(org.apache.shiro.subject.Subject)"><code>forgetting</code></a> any |
| previously remembered identity.</div> |
| </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onLogout(org.apache.shiro.subject.Subject)">onLogout</a></span>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject)</code></th> |
| <td class="colLast"> |
| <div class="block">Reacts to a subject logging out of the application and immediately |
| <a href="#forgetIdentity(org.apache.shiro.subject.Subject)"><code>forgets</code></a> any previously stored identity and returns.</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code>protected <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onRememberedPrincipalFailure(java.lang.RuntimeException,org.apache.shiro.subject.SubjectContext)">onRememberedPrincipalFailure</a></span>​(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang" class="externalLink">RuntimeException</a> e, |
| <a href="../subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a> context)</code></th> |
| <td class="colLast"> |
| <div class="block">Called when an exception is thrown while trying to retrieve principals.</div> |
| </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onSuccessfulLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">onSuccessfulLogin</a></span>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject, |
| <a href="../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a> token, |
| <a href="../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a> info)</code></th> |
| <td class="colLast"> |
| <div class="block">Reacts to the successful login attempt by first always <a href="#forgetIdentity(org.apache.shiro.subject.Subject)"><code>forgetting</code></a> any previously |
| stored identity.</div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rememberIdentity(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">rememberIdentity</a></span>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject, |
| <a href="../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a> token, |
| <a href="../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a> authcInfo)</code></th> |
| <td class="colLast"> |
| <div class="block">Remembers a subject-unique identity for retrieval later.</div> |
| </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rememberIdentity(org.apache.shiro.subject.Subject,org.apache.shiro.subject.PrincipalCollection)">rememberIdentity</a></span>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject, |
| <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> accountPrincipals)</code></th> |
| <td class="colLast"> |
| <div class="block">Remembers the specified account principals by first |
| <a href="#convertPrincipalsToBytes(org.apache.shiro.subject.PrincipalCollection)"><code>converting</code></a> them to a byte |
| array and then <a href="#rememberSerializedIdentity(org.apache.shiro.subject.Subject,byte%5B%5D)"><code>remembers</code></a> that |
| byte array.</div> |
| </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <td class="colFirst"><code>protected abstract void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rememberSerializedIdentity(org.apache.shiro.subject.Subject,byte%5B%5D)">rememberSerializedIdentity</a></span>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject, |
| byte[] serialized)</code></th> |
| <td class="colLast"> |
| <div class="block">Persists the identity bytes to a persistent store for retrieval later via the |
| <a href="#getRememberedSerializedIdentity(org.apache.shiro.subject.SubjectContext)"><code>getRememberedSerializedIdentity(SubjectContext)</code></a> method.</div> |
| </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code>protected byte[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#serialize(org.apache.shiro.subject.PrincipalCollection)">serialize</a></span>​(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> principals)</code></th> |
| <td class="colLast"> |
| <div class="block">Serializes the given <code>principals</code> by serializing them to a byte array by using the |
| <a href="#getSerializer()"><code>serializer</code></a>'s <a href="../io/Serializer.html#serialize(T)"><code>serialize</code></a> method.</div> |
| </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCipherKey(byte%5B%5D)">setCipherKey</a></span>​(byte[] cipherKey)</code></th> |
| <td class="colLast"> |
| <div class="block">Convenience method that sets the cipher key to use for <em>both</em> encryption and decryption.</div> |
| </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCipherService(org.apache.shiro.crypto.CipherService)">setCipherService</a></span>​(<a href="../crypto/CipherService.html" title="interface in org.apache.shiro.crypto">CipherService</a> cipherService)</code></th> |
| <td class="colLast"> |
| <div class="block">Sets the <code>CipherService</code> to use for encrypting and decrypting serialized identity data to prevent easy |
| inspection of Subject identity data.</div> |
| </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDecryptionCipherKey(byte%5B%5D)">setDecryptionCipherKey</a></span>​(byte[] decryptionCipherKey)</code></th> |
| <td class="colLast"> |
| <div class="block">Sets the decryption key to use for decryption operations.</div> |
| </td> |
| </tr> |
| <tr id="i26" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setEncryptionCipherKey(byte%5B%5D)">setEncryptionCipherKey</a></span>​(byte[] encryptionCipherKey)</code></th> |
| <td class="colLast"> |
| <div class="block">Sets the encryption key to use for encryption operations.</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="#setSerializer(org.apache.shiro.io.Serializer)">setSerializer</a></span>​(<a href="../io/Serializer.html" title="interface in org.apache.shiro.io">Serializer</a><<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>> serializer)</code></th> |
| <td class="colLast"> |
| <div class="block">Sets the <code>Serializer</code> used to serialize and deserialize <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a> instances for |
| persistent remember me storage.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3> |
| <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.mgt.RememberMeManager"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from interface org.apache.shiro.mgt.<a href="RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</a></h3> |
| <code><a href="RememberMeManager.html#forgetIdentity(org.apache.shiro.subject.SubjectContext)">forgetIdentity</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="<init>()"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>AbstractRememberMeManager</h4> |
| <pre>public <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.95">AbstractRememberMeManager</a>()</pre> |
| <div class="block">Default constructor that initializes a <a href="../io/DefaultSerializer.html" title="class in org.apache.shiro.io"><code>DefaultSerializer</code></a> as the <a href="#getSerializer()"><code>serializer</code></a> and |
| an <a href="../crypto/AesCipherService.html" title="class in org.apache.shiro.crypto"><code>AesCipherService</code></a> as the <a href="#getCipherService()"><code>cipherService</code></a>.</div> |
| </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="getSerializer()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getSerializer</h4> |
| <pre class="methodSignature">public <a href="../io/Serializer.html" title="interface in org.apache.shiro.io">Serializer</a><<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>> <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.112">getSerializer</a>()</pre> |
| <div class="block">Returns the <code>Serializer</code> used to serialize and deserialize <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a> instances for |
| persistent remember me storage. |
| <p/> |
| Unless overridden by the <a href="#setSerializer(org.apache.shiro.io.Serializer)"><code>setSerializer(org.apache.shiro.io.Serializer<org.apache.shiro.subject.PrincipalCollection>)</code></a> method, the default instance is a |
| <a href="../io/DefaultSerializer.html" title="class in org.apache.shiro.io"><code>DefaultSerializer</code></a>.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the <code>Serializer</code> used to serialize and deserialize <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a> instances for |
| persistent remember me storage.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="setSerializer(org.apache.shiro.io.Serializer)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setSerializer</h4> |
| <pre class="methodSignature">public void <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.125">setSerializer</a>​(<a href="../io/Serializer.html" title="interface in org.apache.shiro.io">Serializer</a><<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>> serializer)</pre> |
| <div class="block">Sets the <code>Serializer</code> used to serialize and deserialize <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a> instances for |
| persistent remember me storage. |
| <p/> |
| Unless overridden by this method, the default instance is a <a href="../io/DefaultSerializer.html" title="class in org.apache.shiro.io"><code>DefaultSerializer</code></a>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>serializer</code> - the <code>Serializer</code> used to serialize and deserialize <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a> instances |
| for persistent remember me storage.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getCipherService()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCipherService</h4> |
| <pre class="methodSignature">public <a href="../crypto/CipherService.html" title="interface in org.apache.shiro.crypto">CipherService</a> <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.138">getCipherService</a>()</pre> |
| <div class="block">Returns the <code>CipherService</code> to use for encrypting and decrypting serialized identity data to prevent easy |
| inspection of Subject identity data. |
| <p/> |
| Unless overridden by the <a href="#setCipherService(org.apache.shiro.crypto.CipherService)"><code>setCipherService(org.apache.shiro.crypto.CipherService)</code></a> method, the default instance is an <a href="../crypto/AesCipherService.html" title="class in org.apache.shiro.crypto"><code>AesCipherService</code></a>.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the <code>Cipher</code> to use for encrypting and decrypting serialized identity data to prevent easy |
| inspection of Subject identity data</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="setCipherService(org.apache.shiro.crypto.CipherService)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setCipherService</h4> |
| <pre class="methodSignature">public void <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.161">setCipherService</a>​(<a href="../crypto/CipherService.html" title="interface in org.apache.shiro.crypto">CipherService</a> cipherService)</pre> |
| <div class="block">Sets the <code>CipherService</code> to use for encrypting and decrypting serialized identity data to prevent easy |
| inspection of Subject identity data. |
| <p/> |
| If the CipherService is a symmetric CipherService (using the same key for both encryption and decryption), you |
| should set your key via the <a href="#setCipherKey(byte%5B%5D)"><code>setCipherKey(byte[])</code></a> method. |
| <p/> |
| If the CipherService is an asymmetric CipherService (different keys for encryption and decryption, such as |
| public/private key pairs), you should set your encryption and decryption key via the respective |
| <a href="#setEncryptionCipherKey(byte%5B%5D)"><code>setEncryptionCipherKey(byte[])</code></a> and <a href="#setDecryptionCipherKey(byte%5B%5D)"><code>setDecryptionCipherKey(byte[])</code></a> methods. |
| <p/> |
| <b>N.B.</b> Unless overridden by this method, the default CipherService instance is an |
| <a href="../crypto/AesCipherService.html" title="class in org.apache.shiro.crypto"><code>AesCipherService</code></a>. This <code>RememberMeManager</code> implementation already has a configured symmetric key |
| to use for encryption and decryption, but it is recommended to provide your own for added security. See the |
| class-level JavaDoc for more information and why it might be good to provide your own.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>cipherService</code> - the <code>CipherService</code> to use for encrypting and decrypting serialized identity data to |
| prevent easy inspection of Subject identity data.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getEncryptionCipherKey()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getEncryptionCipherKey</h4> |
| <pre class="methodSignature">public byte[] <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.171">getEncryptionCipherKey</a>()</pre> |
| <div class="block">Returns the cipher key to use for encryption operations.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the cipher key to use for encryption operations.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="#setCipherService(org.apache.shiro.crypto.CipherService)"><code>for a description of the various methods.</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="setEncryptionCipherKey(byte[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setEncryptionCipherKey</h4> |
| <pre class="methodSignature">public void <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.181">setEncryptionCipherKey</a>​(byte[] encryptionCipherKey)</pre> |
| <div class="block">Sets the encryption key to use for encryption operations.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>encryptionCipherKey</code> - the encryption key to use for encryption operations.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="#setCipherService(org.apache.shiro.crypto.CipherService)"><code>for a description of the various methods.</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getDecryptionCipherKey()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getDecryptionCipherKey</h4> |
| <pre class="methodSignature">public byte[] <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.191">getDecryptionCipherKey</a>()</pre> |
| <div class="block">Returns the decryption cipher key to use for decryption operations.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the cipher key to use for decryption operations.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="#setCipherService(org.apache.shiro.crypto.CipherService)"><code>for a description of the various methods.</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="setDecryptionCipherKey(byte[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setDecryptionCipherKey</h4> |
| <pre class="methodSignature">public void <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.201">setDecryptionCipherKey</a>​(byte[] decryptionCipherKey)</pre> |
| <div class="block">Sets the decryption key to use for decryption operations.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>decryptionCipherKey</code> - the decryption key to use for decryption operations.</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="#setCipherService(org.apache.shiro.crypto.CipherService)"><code>for a description of the various methods.</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getCipherKey()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCipherKey</h4> |
| <pre class="methodSignature">public byte[] <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.218">getCipherKey</a>()</pre> |
| <div class="block">Convenience method that returns the cipher key to use for <em>both</em> encryption and decryption. |
| <p/> |
| <b>N.B.</b> This method can only be called if the underlying <a href="#getCipherService()"><code>cipherService</code></a> is a symmetric |
| CipherService which by definition uses the same key for both encryption and decryption. If using an asymmetric |
| CipherService public/private key pair, you cannot use this method, and should instead use the |
| <a href="#getEncryptionCipherKey()"><code>getEncryptionCipherKey()</code></a> and <a href="#getDecryptionCipherKey()"><code>getDecryptionCipherKey()</code></a> methods individually. |
| <p/> |
| The default <a href="../crypto/AesCipherService.html" title="class in org.apache.shiro.crypto"><code>AesCipherService</code></a> instance is a symmetric cipher service, so this method can be used if you are |
| using the default.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the symmetric cipher key used for both encryption and decryption.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="setCipherKey(byte[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setCipherKey</h4> |
| <pre class="methodSignature">public void <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.237">setCipherKey</a>​(byte[] cipherKey)</pre> |
| <div class="block">Convenience method that sets the cipher key to use for <em>both</em> encryption and decryption. |
| <p/> |
| <b>N.B.</b> This method can only be called if the underlying <a href="#getCipherService()"><code>cipherService</code></a> is a |
| symmetric CipherService?which by definition uses the same key for both encryption and decryption. If using an |
| asymmetric CipherService?(such as a public/private key pair), you cannot use this method, and should instead use |
| the <a href="#setEncryptionCipherKey(byte%5B%5D)"><code>setEncryptionCipherKey(byte[])</code></a> and <a href="#setDecryptionCipherKey(byte%5B%5D)"><code>setDecryptionCipherKey(byte[])</code></a> methods individually. |
| <p/> |
| The default <a href="../crypto/AesCipherService.html" title="class in org.apache.shiro.crypto"><code>AesCipherService</code></a> instance is a symmetric CipherService, so this method can be used if you |
| are using the default.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>cipherKey</code> - the symmetric cipher key to use for both encryption and decryption.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="forgetIdentity(org.apache.shiro.subject.Subject)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>forgetIdentity</h4> |
| <pre class="methodSignature">protected abstract void <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.250">forgetIdentity</a>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject)</pre> |
| <div class="block">Forgets (removes) any remembered identity data for the specified <a href="../subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>subject</code> - the subject instance for which identity data should be forgotten from the underlying persistence |
| mechanism.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="isRememberMe(org.apache.shiro.authc.AuthenticationToken)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isRememberMe</h4> |
| <pre class="methodSignature">protected boolean <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.265">isRememberMe</a>​(<a href="../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a> token)</pre> |
| <div class="block">Determines whether or not remember me services should be performed for the specified token. This method returns |
| <code>true</code> iff: |
| <ol> |
| <li>The token is not <code>null</code> and</li> |
| <li>The token is an <code>instanceof</code> <a href="../authc/RememberMeAuthenticationToken.html" title="interface in org.apache.shiro.authc"><code>RememberMeAuthenticationToken</code></a> and</li> |
| <li><code>token</code>.<a href="../authc/RememberMeAuthenticationToken.html#isRememberMe()"><code>isRememberMe()</code></a> is |
| <code>true</code></li> |
| </ol></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>token</code> - the authentication token submitted during the successful authentication attempt.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>true if remember me services should be performed as a result of the successful authentication attempt.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="onSuccessfulLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>onSuccessfulLogin</h4> |
| <pre class="methodSignature">public void <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.281">onSuccessfulLogin</a>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject, |
| <a href="../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a> token, |
| <a href="../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a> info)</pre> |
| <div class="block">Reacts to the successful login attempt by first always <a href="#forgetIdentity(org.apache.shiro.subject.Subject)"><code>forgetting</code></a> any previously |
| stored identity. Then if the <code>token</code> |
| <a href="#isRememberMe(org.apache.shiro.authc.AuthenticationToken)"><code>is a RememberMe</code></a> token, the associated identity |
| will be <a href="#rememberIdentity(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)"><code>remembered</code></a> |
| for later retrieval during a new user session.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="RememberMeManager.html#onSuccessfulLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">onSuccessfulLogin</a></code> in interface <code><a href="RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>subject</code> - the subject for which the principals are being remembered.</dd> |
| <dd><code>token</code> - the token that resulted in a successful authentication attempt.</dd> |
| <dd><code>info</code> - the authentication info resulting from the successful authentication attempt.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="rememberIdentity(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>rememberIdentity</h4> |
| <pre class="methodSignature">public void <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.309">rememberIdentity</a>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject, |
| <a href="../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a> token, |
| <a href="../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a> authcInfo)</pre> |
| <div class="block">Remembers a subject-unique identity for retrieval later. This implementation first |
| <a href="#getIdentityToRemember(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationInfo)"><code>resolves</code></a> the exact |
| <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>principals</code></a> to remember. It then remembers the principals by calling |
| <a href="#rememberIdentity(org.apache.shiro.subject.Subject,org.apache.shiro.subject.PrincipalCollection)"><code>rememberIdentity(org.apache.shiro.subject.Subject, org.apache.shiro.subject.PrincipalCollection)</code></a>. |
| <p/> |
| This implementation ignores the <a href="../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc"><code>AuthenticationToken</code></a> argument, but it is available to subclasses if |
| necessary for custom logic.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>subject</code> - the subject for which the principals are being remembered.</dd> |
| <dd><code>token</code> - the token that resulted in a successful authentication attempt.</dd> |
| <dd><code>authcInfo</code> - the authentication info resulting from the successful authentication attempt.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getIdentityToRemember(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationInfo)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getIdentityToRemember</h4> |
| <pre class="methodSignature">protected <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.322">getIdentityToRemember</a>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject, |
| <a href="../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a> info)</pre> |
| <div class="block">Returns <code>info</code>.<a href="../authc/AuthenticationInfo.html#getPrincipals()"><code>getPrincipals()</code></a> and |
| ignores the <a href="../subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> argument.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>subject</code> - the subject for which the principals are being remembered.</dd> |
| <dd><code>info</code> - the authentication info resulting from the successful authentication attempt.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the <code>PrincipalCollection</code> to remember.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="rememberIdentity(org.apache.shiro.subject.Subject,org.apache.shiro.subject.PrincipalCollection)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>rememberIdentity</h4> |
| <pre class="methodSignature">protected void <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.335">rememberIdentity</a>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject, |
| <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> accountPrincipals)</pre> |
| <div class="block">Remembers the specified account principals by first |
| <a href="#convertPrincipalsToBytes(org.apache.shiro.subject.PrincipalCollection)"><code>converting</code></a> them to a byte |
| array and then <a href="#rememberSerializedIdentity(org.apache.shiro.subject.Subject,byte%5B%5D)"><code>remembers</code></a> that |
| byte array.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>subject</code> - the subject for which the principals are being remembered.</dd> |
| <dd><code>accountPrincipals</code> - the principals to remember for retrieval later.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertPrincipalsToBytes(org.apache.shiro.subject.PrincipalCollection)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertPrincipalsToBytes</h4> |
| <pre class="methodSignature">protected byte[] <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.349">convertPrincipalsToBytes</a>​(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> principals)</pre> |
| <div class="block">Converts the given principal collection the byte array that will be persisted to be 'remembered' later. |
| <p/> |
| This implementation first <a href="#serialize(org.apache.shiro.subject.PrincipalCollection)"><code>serializes</code></a> the |
| principals to a byte array and then <a href="#encrypt(byte%5B%5D)"><code>encrypts</code></a> that byte array.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>principals</code> - the <code>PrincipalCollection</code> to convert to a byte array</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the representative byte array to be persisted for remember me functionality.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="rememberSerializedIdentity(org.apache.shiro.subject.Subject,byte[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>rememberSerializedIdentity</h4> |
| <pre class="methodSignature">protected abstract void <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.364">rememberSerializedIdentity</a>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject, |
| byte[] serialized)</pre> |
| <div class="block">Persists the identity bytes to a persistent store for retrieval later via the |
| <a href="#getRememberedSerializedIdentity(org.apache.shiro.subject.SubjectContext)"><code>getRememberedSerializedIdentity(SubjectContext)</code></a> method.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>subject</code> - the Subject for which the identity is being serialized.</dd> |
| <dd><code>serialized</code> - the serialized bytes to be persisted.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getRememberedPrincipals(org.apache.shiro.subject.SubjectContext)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getRememberedPrincipals</h4> |
| <pre class="methodSignature">public <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.380">getRememberedPrincipals</a>​(<a href="../subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a> subjectContext)</pre> |
| <div class="block">Implements the interface method by first <a href="#getRememberedSerializedIdentity(org.apache.shiro.subject.SubjectContext)"><code>acquiring</code></a> |
| the remembered serialized byte array. Then it <a href="#convertBytesToPrincipals(byte%5B%5D,org.apache.shiro.subject.SubjectContext)"><code>converts</code></a> |
| them and returns the re-constituted <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a>. If no remembered principals could be |
| obtained, <code>null</code> is returned. |
| <p/> |
| If any exceptions are thrown, the <a href="#onRememberedPrincipalFailure(java.lang.RuntimeException,org.apache.shiro.subject.SubjectContext)"><code>onRememberedPrincipalFailure(RuntimeException, SubjectContext)</code></a> method |
| is called to allow any necessary post-processing (such as immediately removing any previously remembered |
| values for safety).</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="RememberMeManager.html#getRememberedPrincipals(org.apache.shiro.subject.SubjectContext)">getRememberedPrincipals</a></code> in interface <code><a href="RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>subjectContext</code> - the contextual data, usually provided by a <a href="../subject/Subject.Builder.html" title="class in org.apache.shiro.subject"><code>Subject.Builder</code></a> implementation, that |
| is being used to construct a <a href="../subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the remembered principals or <code>null</code> if none could be acquired.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getRememberedSerializedIdentity(org.apache.shiro.subject.SubjectContext)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getRememberedSerializedIdentity</h4> |
| <pre class="methodSignature">protected abstract byte[] <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.406">getRememberedSerializedIdentity</a>​(<a href="../subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a> subjectContext)</pre> |
| <div class="block">Based on the given subject context data, retrieves the previously persisted serialized identity, or |
| <code>null</code> if there is no available data. The context map is usually populated by a <a href="../subject/Subject.Builder.html" title="class in org.apache.shiro.subject"><code>Subject.Builder</code></a> |
| implementation. See the <a href="SubjectFactory.html" title="interface in org.apache.shiro.mgt"><code>SubjectFactory</code></a> class constants for Shiro's known map keys.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>subjectContext</code> - the contextual data, usually provided by a <a href="../subject/Subject.Builder.html" title="class in org.apache.shiro.subject"><code>Subject.Builder</code></a> implementation, that |
| is being used to construct a <a href="../subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance. To be used to assist with data |
| lookup.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the previously persisted serialized identity, or <code>null</code> if there is no available data for the |
| Subject.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="convertBytesToPrincipals(byte[],org.apache.shiro.subject.SubjectContext)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>convertBytesToPrincipals</h4> |
| <pre class="methodSignature">protected <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.417">convertBytesToPrincipals</a>​(byte[] bytes, |
| <a href="../subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a> subjectContext)</pre> |
| <div class="block">If a <a href="#getCipherService()"><code>cipherService</code></a> is available, it will be used to first decrypt the byte array. |
| Then the bytes are then <a href="#deserialize(byte%5B%5D)"><code>deserialized</code></a> and then returned.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>bytes</code> - the bytes to decrypt if necessary and then deserialize.</dd> |
| <dd><code>subjectContext</code> - the contextual data, usually provided by a <a href="../subject/Subject.Builder.html" title="class in org.apache.shiro.subject"><code>Subject.Builder</code></a> implementation, that |
| is being used to construct a <a href="../subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the de-serialized and possibly decrypted principals</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="onRememberedPrincipalFailure(java.lang.RuntimeException,org.apache.shiro.subject.SubjectContext)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>onRememberedPrincipalFailure</h4> |
| <pre class="methodSignature">protected <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.441">onRememberedPrincipalFailure</a>​(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang" class="externalLink">RuntimeException</a> e, |
| <a href="../subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a> context)</pre> |
| <div class="block">Called when an exception is thrown while trying to retrieve principals. The default implementation logs a |
| warning message and forgets ('unremembers') the problem identity by calling |
| <a href="RememberMeManager.html#forgetIdentity(org.apache.shiro.subject.SubjectContext)"><code>forgetIdentity(context)</code></a> and then immediately re-throws the |
| exception to allow the calling component to react accordingly. |
| <p/> |
| This method implementation never returns an |
| object - it always rethrows, but can be overridden by subclasses for custom handling behavior. |
| <p/> |
| This most commonly would be called when an encryption key is updated and old principals are retrieved that have |
| been encrypted with the previous key.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>e</code> - the exception that was thrown.</dd> |
| <dd><code>context</code> - the contextual data, usually provided by a <a href="../subject/Subject.Builder.html" title="class in org.apache.shiro.subject"><code>Subject.Builder</code></a> implementation, that |
| is being used to construct a <a href="../subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>nothing - the original <code>RuntimeException</code> is propagated in all cases.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="encrypt(byte[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>encrypt</h4> |
| <pre class="methodSignature">protected byte[] <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.462">encrypt</a>​(byte[] serialized)</pre> |
| <div class="block">Encrypts the byte array by using the configured <a href="#getCipherService()"><code>cipherService</code></a>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>serialized</code> - the serialized object byte array to be encrypted</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>an encrypted byte array returned by the configured <a href="#getCipherService()"><code>() cipher</code></a>.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="decrypt(byte[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>decrypt</h4> |
| <pre class="methodSignature">protected byte[] <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.478">decrypt</a>​(byte[] encrypted)</pre> |
| <div class="block">Decrypts the byte array using the configured <a href="#getCipherService()"><code>cipherService</code></a>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>encrypted</code> - the encrypted byte array to decrypt</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the decrypted byte array returned by the configured <a href="#getCipherService()"><code>() cipher</code></a>.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="serialize(org.apache.shiro.subject.PrincipalCollection)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>serialize</h4> |
| <pre class="methodSignature">protected byte[] <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.495">serialize</a>​(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> principals)</pre> |
| <div class="block">Serializes the given <code>principals</code> by serializing them to a byte array by using the |
| <a href="#getSerializer()"><code>serializer</code></a>'s <a href="../io/Serializer.html#serialize(T)"><code>serialize</code></a> method.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>principals</code> - the principal collection to serialize to a byte array</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the serialized principal collection in the form of a byte array</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="deserialize(byte[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>deserialize</h4> |
| <pre class="methodSignature">protected <a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.506">deserialize</a>​(byte[] serializedIdentity)</pre> |
| <div class="block">De-serializes the given byte array by using the <a href="#getSerializer()"><code>serializer</code></a>'s |
| <a href="../io/Serializer.html#deserialize(byte%5B%5D)"><code>deserialize</code></a> method.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>serializedIdentity</code> - the previously serialized <code>PrincipalCollection</code> as a byte array</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the de-serialized (reconstituted) <code>PrincipalCollection</code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="onFailedLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>onFailedLogin</h4> |
| <pre class="methodSignature">public void <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.519">onFailedLogin</a>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject, |
| <a href="../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a> token, |
| <a href="../authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a> ae)</pre> |
| <div class="block">Reacts to a failed login by immediately <a href="#forgetIdentity(org.apache.shiro.subject.Subject)"><code>forgetting</code></a> any |
| previously remembered identity. This is an additional security feature to prevent any remenant identity data |
| from being retained in case the authentication attempt is not being executed by the expected user.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="RememberMeManager.html#onFailedLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException)">onFailedLogin</a></code> in interface <code><a href="RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>subject</code> - the subject which executed the failed login attempt</dd> |
| <dd><code>token</code> - the authentication token resulting in a failed login attempt - ignored by this implementation</dd> |
| <dd><code>ae</code> - the exception thrown as a result of the failed login attempt - ignored by this implementation</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="onLogout(org.apache.shiro.subject.Subject)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>onLogout</h4> |
| <pre class="methodSignature">public void <a href="../../../../src-html/org/apache/shiro/mgt/AbstractRememberMeManager.html#line.529">onLogout</a>​(<a href="../subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a> subject)</pre> |
| <div class="block">Reacts to a subject logging out of the application and immediately |
| <a href="#forgetIdentity(org.apache.shiro.subject.Subject)"><code>forgets</code></a> any previously stored identity and returns.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="RememberMeManager.html#onLogout(org.apache.shiro.subject.Subject)">onLogout</a></code> in interface <code><a href="RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>subject</code> - the subject logging out.</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/AbstractRememberMeManager.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 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: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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 © 2004–2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </footer> |
| </body> |
| </html> |