IIdentityBase

From Virtual World Web Wiki
Jump to: navigation, search

The base of an identity of any kind. Provides basic information about the account, persona, and group memberships of the identity.

Remarks [edit]

Properties

Guid AccountID {get;}
The global authentication account ID of the connected user. If this property is not GUID.Empty, the connection has completed authentication.
string AccountName {get;}
The local account name of the connected user (usually an email address)
Guid AreaID {get;}
The current area against which to do area permission checks
bool FirstNavigate {get;}
This identity is just navigating to, or currently in its first scene instance
bool IsEmbodied {get;}
Indicates if the connection has completed Navigation (i.e. has a PersonaID)
bool IsLayerOne {get;}
Indicates if the connection has the LayerOne permission on the service provider. This is a cached and area permission change sensitive short-cut to a slower HasAreaPermission or even slower HasPermission
Guid PersonaID {get;}
The local persona ID of the connected user. If this property is not GUID.Empty, the connection has completed Navigation.
string PersonaName {get;}
The local persona name of the connected user

Events

AreaPermissionsChanged(EventHandler)
Fired when the permissions inherited by a user based on their location and current entity set change in any way
PersonaChanged(EventHandler<PersonaChangeEventArgs>)
Fired when the PersonaID on the identity has just changed

Methods

IEnumerable<IEntityEntry> GetEntities()
Returns a list of Entities impersonated by this connection. This can be used to calculate permissions among other things.
IEnumerable<Guid> GetEntityIDs()
Returns a list of Entity IDs impersonated by this connection. This can be used to calculate permissions among other things.
bool HasAreaPermission(Guid permissionID)
Determines if this connection's entities have a particular permission granted on the area space
bool HasPermission(Guid permissionID, Guid securableID)
Determines if this connection has a particular permission on a given securable
bool InEntity(Guid entityID)
Determines if this connection "belongs to" a given Entity
void JoinEntity(Guid entityID, bool accountLevel = false)
Runtime joins a connection identity to an entity. This does not affect stored entity memberships
void LeaveAllRuntimeEntities()
Removes an entity from any entities it's been added to by this component since persona change
void LeaveEntity(Guid entityID)
Runtime removes a connection identity from an entity. This does not affect stored entity memberships