blob: 75935c147bbaedbbb5cc8206a07e3a1c90957d3d [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001/*
2 * Copyright 1999-2003 Sun Microsystems, Inc. All Rights Reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Sun designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Sun in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
25
26package com.sun.security.auth;
27
28/**
29 * <p> This class extends <code>NTSid</code>
30 * and represents a Windows NT user's domain SID.
31 *
32 * <p> An NT user only has a domain SID if in fact they are logged
33 * into an NT domain. If the user is logged into a workgroup or
34 * just a standalone configuration, they will NOT have a domain SID.
35 *
36 * <p> Principals such as this <code>NTSidDomainPrincipal</code>
37 * may be associated with a particular <code>Subject</code>
38 * to augment that <code>Subject</code> with an additional
39 * identity. Refer to the <code>Subject</code> class for more information
40 * on how to achieve this. Authorization decisions can then be based upon
41 * the Principals associated with a <code>Subject</code>.
42 *
43 * @see java.security.Principal
44 * @see javax.security.auth.Subject
45 */
46public class NTSidDomainPrincipal extends NTSid {
47
48 private static final long serialVersionUID = 5247810785821650912L;
49
50 /**
51 * Create an <code>NTSidDomainPrincipal</code> with a Windows NT SID.
52 *
53 * <p>
54 *
55 * @param name a string version of the Windows NT SID for this
56 * user's domain.<p>
57 *
58 * @exception NullPointerException if the <code>name</code>
59 * is <code>null</code>.
60 */
61 public NTSidDomainPrincipal(String name) {
62 super(name);
63 }
64
65 /**
66 * Return a string representation of this <code>NTSidDomainPrincipal</code>.
67 *
68 * <p>
69 *
70 * @return a string representation of this
71 * <code>NTSidDomainPrincipal</code>.
72 */
73 public String toString() {
74 java.text.MessageFormat form = new java.text.MessageFormat
75 (sun.security.util.ResourcesMgr.getString
76 ("NTSidDomainPrincipal: name",
77 "sun.security.util.AuthResources"));
78 Object[] source = {getName()};
79 return form.format(source);
80 }
81
82 /**
83 * Compares the specified Object with this <code>NTSidDomainPrincipal</code>
84 * for equality. Returns true if the given object is also a
85 * <code>NTSidDomainPrincipal</code> and the two NTSidDomainPrincipals
86 * have the same SID.
87 *
88 * <p>
89 *
90 * @param o Object to be compared for equality with this
91 * <code>NTSidDomainPrincipal</code>.
92 *
93 * @return true if the specified Object is equal equal to this
94 * <code>NTSidDomainPrincipal</code>.
95 */
96 public boolean equals(Object o) {
97 if (o == null)
98 return false;
99
100 if (this == o)
101 return true;
102
103 if (!(o instanceof NTSidDomainPrincipal))
104 return false;
105
106 return super.equals(o);
107 }
108}