Managed Object - SessionManager

Property of
ServiceContent
See also
SessionManagerGenericServiceTicket, SessionManagerLocalTicket, SessionManagerServiceRequestSpec, UserSession


Managed Object Description

This managed object type includes methods for logging on and logging off clients, determining which clients are currently logged on, and forcing clients to log off.

Properties

Name Type Description
currentSession* PUserSession

This property contains information about the client's current session. If the client is not logged on, the value is null.
defaultLocale Pxsd:string

This is the default server locale.
message* Pxsd:string

The system global message from the server.
messageLocaleList* Pxsd:string[]

Provides the list of locales for which the server has localized messages.
sessionList* PUserSession[]

The list of currently active sessions.
supportedLocaleList* Pxsd:string[]

Provides the list of locales that the server supports. Listing a locale ensures that some standardized information such as dates appear in the appropriate format. Other localized information, such as error messages, are displayed, if available. If localized information is not available, the message is returned using the system locale.
*May not be presentPRequired privilege - see tooltip for details

Methods

Methods defined in this Managed Object
AcquireCloneTicket, AcquireGenericServiceTicket, AcquireLocalTicket, CloneSession, ImpersonateUser, Login, LoginBySSPI, LoginByToken, LoginExtensionByCertificate, LoginExtensionBySubjectName, Logout, SessionIsActive, SetLocale, TerminateSession, UpdateServiceMessage

AcquireCloneTicket

Acquire a session-specific ticket string which can be used to clone the current session. The caller of this operation can pass the ticket value to another entity on the client. The recipient can then call CloneSession with the ticket string on an unauthenticated session and avoid having to re-enter credentials.

The ticket may only be used once and becomes invalid after use. The ticket is also invalidated when the corresponding session is closed or expires. The ticket is only valid on the server which issued it.

This sequence of operations is conceptually similar to the functionality provided by AcquireLocalTicket, however the methods can be used by remote clients and do not require a shared filesystem for transport.
See CloneSession

Required Privileges
System.View
Since
vSphere API 4.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.

Return Value

Type Description
xsd:stringone-time secret ticket string.

Faults

Type Description
NotAuthenticatedThrown if the current session is not authenticated
See CloneSession
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



AcquireGenericServiceTicket

Creates and returns a one-time credential that may be used to make the specified request.
Required Privileges
System.Anonymous
Since
vSphere API 5.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.
specSessionManagerServiceRequestSpec

specification for the service request which will be invoked with the ticket.

Return Value

Type Description
SessionManagerGenericServiceTicketA ticket that may be used to invoke the specified request.

Faults

Type Description
InvalidArgumentThrown if the spec is not supported or not valid.
NoPermissionThrown if the client does not have enough privileges to be granted a ticket.
NotAuthenticatedThrown if the current session is not authenticated for clone session request
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



AcquireLocalTicket

Acquires a one-time ticket for mutual authentication between a server and client.

The caller of this operation can use the user name and file content of the returned object as the userName and password arguments for login operation. The local ticket that is returned becomes invalid either after it is used or after a server-determined ticket expiration time passes. This operation can be used by servers and clients to avoid re-entering user credentials after authentication by the operating system has already happened.

For example, service console utilities that connect to a host agent should not require users to re-enter their passwords every time the utilities run. Since the one-time password file is readable only by the given user, the identity of the one-time password user is protected by the operating system file permission.

Only local clients are allowed to call this operation. Remote clients receive an InvalidRequest fault upon calling this operation.

Required Privileges
System.Anonymous

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.
userNamexsd:string

User requesting one-time password.

Return Value

Type Description
SessionManagerLocalTicketLocalTicket object containing userName and path to file containing one-time password for use in login operation.

Faults

Type Description
InvalidLoginThrown if the userName is invalid.
NoPermissionThrown if the user and password are valid, but the user has no access granted.
NotSupportedThrown if the server does not support this operation.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



CloneSession

Clone the session specified by the clone ticket and associate it with the current connection. The current session will take on the identity and authorization level of the UserSession associated with the specified cloning ticket.
See AcquireCloneTicket
See AcquireGenericServiceTicket
Required Privileges
System.Anonymous
Since
vSphere API 4.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.
cloneTicketxsd:string

ticket string acquired via AcquireCloneTicket.
See AcquireCloneTicket
See AcquireGenericServiceTicket


Return Value

Type Description
UserSessionThe new/cloned UserSession object.

Faults

Type Description
InvalidLoginThrown if the specified ticket value is not valid.
See AcquireCloneTicket
See AcquireGenericServiceTicket
NotSupportedThrown if the server does not support this operation.
See AcquireCloneTicket
See AcquireGenericServiceTicket
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



ImpersonateUser

Converts current session to impersonate the specified user. The current session will take on the identity and authorization level of the user. That user must have a currently-active session. If the given userName is an extension key and this key does not overlap with a user name of any currently-active session, it will take on the identity and authorization level of that extension provided the current session has the same authorization level of that extension.
Required Privileges
Sessions.ImpersonateUser
Since
VI API 2.5

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.
userNamexsd:string

The user or extension key to impersonate.
locale*xsd:string

A two-character ISO-639 language ID (like "en") optionally followed by an underscore and a two-character ISO 3166 country ID (like "US").

Examples are "de", "fr_CA", "zh", "zh_CN", and "zh_TW". Note: The method uses the server default locale when a locale is not provided. This default can be configured in the server configuration file. If unspecified, it defaults to the locale of the server environment or English ("en") if unsupported.

*Need not be set

Return Value

Type Description
UserSession

Faults

Type Description
InvalidLocale
InvalidLogin
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



Login

Log on to the server. This method fails if the user name and password are incorrect, or if the user is valid but has no permissions granted.
Required Privileges
System.Anonymous

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.
userNamexsd:string

The ID of the user who is logging on to the server.
passwordxsd:string

The password of the user who is logging on to the server.
locale*xsd:string

A two-character ISO-639 language ID (like "en") optionally followed by an underscore and a two-character ISO 3166 country ID (like "US").

Examples are "de", "fr_CA", "zh", "zh_CN", and "zh_TW". Note: The method uses the server default locale when a locale is not provided. This default can be configured in the server configuration file. If unspecified, it defaults to the locale of the server environment or English ("en") if unsupported.

*Need not be set

Return Value

Type Description
UserSessionThe UserSession object.

As of vSphere API 5.1 for VirtualCenter login use SSO style LoginByToken


Faults

Type Description
InvalidLocaleThrown if the locale is invalid or unknown to the server.
InvalidLoginThrown if the user and password combination is invalid.
NoPermissionThrown if the user is valid, but has no access granted.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



LoginBySSPI

Log on to the server using SSPI pass-through authentication.

This method provides support for passing credentials of the calling process to the server without using a password, by leveraging the Windows Security Support Provider Interface (SSPI) library.

If the function is not supported, this throws a NotSupported fault.

The client first calls AcquireCredentialsHandle(). If Kerberos is used, this should include the desired credential to pass. The client then calls InitializeSecurityContext(). The resulting partially-formed context is passed in Base-64 encoded form to this method.

If the context has been successfully formed, the server proceeds with login and behaves like Login. If further negotiation is needed, the server throws an SSPIChallenge fault with a challenge token, which the client should again pass to InitializeSecurityContext(), followed by calling this method again.

For more information, see the MSDN documentation on SSPI.

Required Privileges
System.Anonymous
Since
VI API 2.5

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.
base64Tokenxsd:string

The partially formed context returned from InitializeSecurityContext().
locale*xsd:string

A two-character ISO-639 language ID (like "en") optionally followed by an underscore and a two-character ISO 3166 country ID (like "US").

Examples are "de", "fr_CA", "zh", "zh_CN", and "zh_TW". Note: The method uses the server default locale when a locale is not provided. This default can be configured in the server configuration file. If unspecified, it defaults to the locale of the server environment or English ("en") if unsupported.

*Need not be set

Return Value

Type Description
UserSessionThe UserSession object.

As of vSphere API 5.1 for VirtualCenter login use SSO style LoginByToken


Faults

Type Description
InvalidLocaleThrown if the locale is invalid or unknown to the server.
InvalidLoginThrown if the user context could not be passed successfully, or the context is not valid on the server.
NoPermissionThrown if the user is valid, but has no access granted.
NotSupportedThrown if the service does not support SSPI authentication.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
SSPIChallengeThrown if further negotiation is required.

Events

Type
None

Show WSDL type definition



LoginByToken

Log on to the server through token representing principal identity. The token is obtained from SSO (single sign-on) service. This method fails if the token is not valid, or the principal has no permissions granted. Two type of sso tokens are supported by this method: Bearer and Holder-of-Key (HoK). If the token type obliges the method caller to prove his rights to present this token (HoK), then a signature is supplied as well. The token and the security signature if available are provided in a transport specific way.

If the communication with the VirtualCenter is SOAP based read the WS-Security specification (SAML Token profile) to understand how to transport the SSO token and signature.

Usual login scenario:

  1. Acquire HoK token from the SSO service. Different authentication mechanisms are available for acquiring token (user/password, certificate, SSPI and so on). For more details consult the SSO documentation. To find the location of your SSO service consult the Virtual Infrastructure documentation.
  2. Once SSO token is acquired successfully LoginByToken could be invoked.
Required Privileges
System.Anonymous
Since
vSphere API 5.1

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.
locale*xsd:string

A two-character ISO-639 language ID (like "en") optionally followed by an underscore and a two-character ISO 3166 country ID (like "US").

Examples are "de", "fr_CA", "zh", "zh_CN", and "zh_TW". Note: The method uses the server default locale when a locale is not provided. This default can be configured in the server configuration file. If unspecified, it defaults to the locale of the server environment or English ("en") if unsupported.

*Need not be set

Return Value

Type Description
UserSessionThe UserSession object.

Faults

Type Description
InvalidLocaleThrown if the locale is invalid or unknown to the server.
InvalidLoginThrown if there is no token provided or the token could not be validated.
NoPermissionThrown if the principal is valid, but has no access granted.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



LoginExtensionByCertificate

Creates a special privileged session that includes the Sessions.ImpersonateUser privilege. Requires that the client connect over SSL and provide an X.509 certificate for which they hold the private key. The certificate must match the certificate used in an earlier call to SetExtensionCertificate.

NOTE: Verification of the received certificate (such as expiry, revocation, and trust chain) is not required for successful authentication using this method. If certificate verification is desired, use the LoginExtensionBySubjectName method instead.

Required Privileges
System.Anonymous
Since
vSphere API 4.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.
extensionKeyxsd:string

Key of extension that is logging in.
locale*xsd:string

A two-character ISO-639 language ID (like "en") optionally followed by an underscore and a two-character ISO 3166 country ID (like "US").

Examples are "de", "fr_CA", "zh", "zh_CN", and "zh_TW". Note: The method uses the server default locale when a locale is not provided. This default can be configured in the server configuration file. If unspecified, it defaults to the locale of the server environment or English ("en") if unsupported.

*Need not be set

Return Value

Type Description
UserSession

Faults

Type Description
InvalidLocaleThrown if the supplied locale is not valid
InvalidLoginThrown if the extension is not registered, or the certificate does not match the expected value.
NoClientCertificateThrown if no certificate was used by the client to connect
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



LoginExtensionBySubjectName

Creates a special privileged session that includes the Sessions.ImpersonateUser privilege. Requires that the extension connected using SSL, with a certificate that has a subject name that matches the subject name registered for the extension.

As of vSphere API 4.0, the NotFound fault is no longer thrown. Instead, InvalidLogin is thrown if the specified extension is not registered.

Required Privileges
System.Anonymous
Since
vSphere API 4.0

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.
extensionKeyxsd:string

Key of extension that is logging in.
locale*xsd:string

A two-character ISO-639 language ID (like "en") optionally followed by an underscore and a two-character ISO 3166 country ID (like "US").

Examples are "de", "fr_CA", "zh", "zh_CN", and "zh_TW". Note: The method uses the server default locale when a locale is not provided. This default can be configured in the server configuration file. If unspecified, it defaults to the locale of the server environment or English ("en") if unsupported.

*Need not be set

Return Value

Type Description
UserSession

Faults

Type Description
InvalidClientCertificateThrown if the client cerificate fails the verification at the server
InvalidLocaleThrown if the supplied locale is not valid
InvalidLoginThrown if the extension is not registered, or the subject name doesn't match the subject name of the extension.
NoClientCertificateThrown if no certificate was used by the client to connect
NoSubjectNameThrown if the extension was registered without a subject name
NotFoundThrown if no extension is associated with the given key
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



Logout

Log out and terminate the current session.
Required Privileges
System.View

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.

Return Value

Type Description
None

Faults

Type Description
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



SessionIsActive

Validates that a currently-active session exists with the specified sessionID and userName associated with it. Returns true if session exists.
Required Privileges
Sessions.ValidateSession
Since
VI API 2.5

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.
sessionIDxsd:string

Session ID to validate.
userNamexsd:string

User name to validate.

Return Value

Type Description
xsd:boolean

Faults

Type Description
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



SetLocale

Sets the session locale.
Required Privileges
System.View

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.
localexsd:string

A two-character ISO-639 language ID (like "en") optionally followed by an underscore and a two-character ISO 3166 country ID (like "US").

Examples are "de", "fr_CA", "zh", "zh_CN", and "zh_TW". Note: The method uses the server default locale when a locale is not provided. This default can be configured in the server configuration file. If unspecified, it defaults to the locale of the server environment or English ("en") if unsupported.


Return Value

Type Description
None

Faults

Type Description
InvalidLocaleThrown if the locale is invalid or unknown to the server.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



TerminateSession

Log off and terminate the provided list of sessions.

This method is only transactional for each session ID. The set of sessions are terminated sequentially, as specified in the list. If a failure occurs, for example, because of an unknown sessionID, the method aborts with an exception. When the method aborts, any sessions that have not yet been terminated are left in their unterminated state.

Required Privileges
Sessions.TerminateSession

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.
sessionIdxsd:string[]

A list of sessions to terminate.

Return Value

Type Description
None

Faults

Type Description
InvalidArgumentThrown if a sessionId matches the current session. Use the logout method to terminate the current session.
NotFoundThrown if a sessionId could not be found as a valid logged-on session.
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition



UpdateServiceMessage

Updates the system global message. If not blank, the message is immediately displayed to currently logged-on users. When set, the message is shown by new clients upon logging in.
Required Privileges
Sessions.GlobalMessage

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the SessionManager used to make the method call.
messagexsd:string

The message to send. Newline characters may be included.

Return Value

Type Description
None

Faults

Type Description
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition