1 // 2 // ======================================================================== 3 // Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. 4 // ------------------------------------------------------------------------ 5 // All rights reserved. This program and the accompanying materials 6 // are made available under the terms of the Eclipse Public License v1.0 7 // and Apache License v2.0 which accompanies this distribution. 8 // 9 // The Eclipse Public License is available at 10 // http://www.eclipse.org/legal/epl-v10.html 11 // 12 // The Apache License v2.0 is available at 13 // http://www.opensource.org/licenses/apache2.0.php 14 // 15 // You may elect to redistribute this code under either of these licenses. 16 // ======================================================================== 17 // 18 19 package org.eclipse.jetty.jaas; 20 21 import java.security.Principal; 22 23 import javax.security.auth.Subject; 24 import javax.security.auth.login.LoginContext; 25 26 /** 27 * JAASUserPrincipal 28 * <p> 29 * Implements the JAAS version of the 30 * org.eclipse.jetty.http.UserPrincipal interface. 31 */ 32 public class JAASUserPrincipal implements Principal 33 { 34 private final String _name; 35 private final Subject _subject; 36 private final LoginContext _loginContext; 37 38 /* ------------------------------------------------ */ 39 public JAASUserPrincipal(String name, Subject subject, LoginContext loginContext) 40 { 41 this._name = name; 42 this._subject = subject; 43 this._loginContext = loginContext; 44 } 45 46 /* ------------------------------------------------ */ 47 /** Get the name identifying the user 48 */ 49 public String getName () 50 { 51 return _name; 52 } 53 54 55 /* ------------------------------------------------ */ 56 /** Provide access to the Subject 57 * @return subject 58 */ 59 public Subject getSubject () 60 { 61 return this._subject; 62 } 63 64 LoginContext getLoginContext () 65 { 66 return this._loginContext; 67 } 68 69 public String toString() 70 { 71 return getName(); 72 } 73 74 }