All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jcifs.SID Maven / Gradle / Ivy

/*
 * © 2017 AgNO3 Gmbh & Co. KG
 * 
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 * 
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
package jcifs;


/**
 * A Windows SID is a numeric identifier used to represent Windows
 * accounts. SIDs are commonly represented using a textual format such as
 * S-1-5-21-1496946806-2192648263-3843101252-1029 but they may
 * also be resolved to yield the name of the associated Windows account
 * such as Administrators or MYDOM\alice.
 * 

* Consider the following output of examples/SidLookup.java: * *

 *        toString: S-1-5-21-4133388617-793952518-2001621813-512
 * toDisplayString: WNET\Domain Admins
 *         getType: 2
 *     getTypeText: Domain group
 *   getDomainName: WNET
 *  getAccountName: Domain Admins
 * 
*/ public interface SID { /** * */ public static final int SID_TYPE_USE_NONE = 0; /** * */ public static final int SID_TYPE_USER = 1; /** * */ public static final int SID_TYPE_DOM_GRP = 2; /** * */ public static final int SID_TYPE_DOMAIN = 3; /** * */ public static final int SID_TYPE_ALIAS = 4; /** * */ public static final int SID_TYPE_WKN_GRP = 5; /** * */ public static final int SID_TYPE_DELETED = 6; /** * */ public static final int SID_TYPE_INVALID = 7; /** * */ public static final int SID_TYPE_UNKNOWN = 8; /** * * @return domain SID */ SID getDomainSid (); /** * Get the RID * * This is the last subauthority identifier * * @return the RID */ int getRid (); /** * Return a String representing this SID ideal for display to * users. This method should return the same text that the ACL * editor in Windows would display. *

* Specifically, if the SID has * been resolved and it is not a domain SID or builtin account, * the full DOMAIN\name form of the account will be * returned (e.g. MYDOM\alice or MYDOM\Domain Users). * If the SID has been resolved but it is is a domain SID, * only the domain name will be returned (e.g. MYDOM). * If the SID has been resolved but it is a builtin account, * only the name component will be returned (e.g. SYSTEM). * If the sid cannot be resolved the numeric representation from * toString() is returned. * * @return display format, potentially with resolved names */ String toDisplayString (); /** * Return the sAMAccountName of this SID unless it could not * be resolved in which case the numeric RID is returned. If this * SID is a domain SID, this method will return an empty String. * * @return the account name */ String getAccountName (); /** * Return the domain name of this SID unless it could not be * resolved in which case the numeric representation is returned. * * @return the domain name */ String getDomainName (); /** * Return text representing the SID type suitable for display to * users. Text includes 'User', 'Domain group', 'Local group', etc. * * @return textual representation of type */ String getTypeText (); /** * Returns the type of this SID indicating the state or type of account. *

* SID types are described in the following table. *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
TypeName
SID_TYPE_USE_NONE0
SID_TYPE_USERUser
SID_TYPE_DOM_GRPDomain group
SID_TYPE_DOMAINDomain
SID_TYPE_ALIASLocal group
SID_TYPE_WKN_GRPBuiltin group
SID_TYPE_DELETEDDeleted
SID_TYPE_INVALIDInvalid
SID_TYPE_UNKNOWNUnknown
* * @return type code */ int getType (); /** * * @param type * @return unwrapped instance */ public T unwrap ( Class type ); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy