View Javadoc

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  }