ttomcat-1778514358873.zip-extract/apache-tomcat-11.0.18-src/java/org/apache/catalina/TomcatPrincipal.java

Path
ttomcat-1778514358873.zip-extract/apache-tomcat-11.0.18-src/java/org/apache/catalina/TomcatPrincipal.java
Status
scanned
Type
file
Name
TomcatPrincipal.java
Extension
.java
Programming language
Java
Mime type
text/plain
File type
ASCII text, with CRLF line terminators
Tag

      
    
Rootfs path

      
    
Size
4243 (4.1 KB)
MD5
cc25162a730d0ef019af820c789e1dee
SHA1
08ea643f251916d6b18b0a42063b86c5cb8f0504
SHA256
3dc39b6057a1dc83d156de325e1b5c39a48aeb4ceb9a3061a5fd1af5c446250e
SHA512

      
    
SHA1_git
57a2ac792c97f7e080b1853235bf29f2eec5ed7a
Is binary

      
    
Is text
True
Is archive

      
    
Is media

      
    
Is legal

      
    
Is manifest

      
    
Is readme

      
    
Is top level

      
    
Is key file

      
    
TomcatPrincipal.java | 4.1 KB |

/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.catalina; import java.security.Principal; import java.util.Enumeration; import org.ietf.jgss.GSSCredential; /** * Defines additional methods implemented by {@link Principal}s created by Tomcat's standard {@link Realm} * implementations. */ public interface TomcatPrincipal extends Principal { /** * @return The authenticated Principal to be exposed to applications. */ Principal getUserPrincipal(); /** * @return The user's delegated credentials. */ GSSCredential getGssCredential(); /** * Calls logout, if necessary, on any associated JAASLoginContext and/or GSSContext. May in the future be extended * to cover other logout requirements. * * @throws Exception If something goes wrong with the logout. Uses Exception to allow for future expansion of this * method to cover other logout mechanisms that might throw a different exception to * LoginContext */ void logout() throws Exception; /** * Returns the value of the named attribute as an <code>Object</code>, or <code>null</code> if no attribute of the * given name exists, or if <code>null</code> has been specified as the attribute's name. * <p> * Only the servlet container may set attributes to make available custom information about a Principal or the user * it represents. * <p> * The purpose of the method is to implement read only access to attributes which may be stored in the * <code>Realm</code> implementation's backend due to its inherent design. * <p> * As using this method from application code will make it non portable to other EE compliant containers, it is * advised this should never be used as an object storage facility tied to the <code>Principal</code>, but rather as * simple extra additional metadata. It is recommended that a container level object is used to further process the * attributes that may be associated with the <code>Principal</code>. * <p> * <code>Realm</code> implementations that are provided by Tomcat will not provide complex type mapping, but will in * most cases always return a result as a <code>String</code> object which may need custom decoding. * <p> * <code>Realm</code> implementations that are provided by Tomcat will not provide an implementation for this * facility unless it is inherent to the storage backend of the <code>Realm</code> itself and metadata is available * without additional user intervention or configuration. * * @param name a <code>String</code> specifying the name of the attribute * * @return an <code>Object</code> containing the value of the attribute, or <code>null</code> if the attribute does * not exist, or if <code>null</code> has been specified as the attribute's name */ Object getAttribute(String name); /** * Returns an <code>Enumeration</code> containing the names of the attributes available to this Principal. This * method returns an empty <code>Enumeration</code> if the Principal has no attributes available to it. * * @return an <code>Enumeration</code> of strings containing the names of the Principal's attributes */ Enumeration<String> getAttributeNames(); }
Detected license expression
apache-2.0
Detected license expression (SPDX)
Apache-2.0
Percentage of license text
21.33
Copyrights

      
    
Holders

      
    
Authors

      
    
License detections License expression License expression SPDX
apache_2_0-4bde3f57-78aa-4201-96bf-531cba09e7de apache-2.0 Apache-2.0
URL Start line End line
http://www.apache.org/licenses/LICENSE-2.0 9 9