IIdentityBase
From Virtual World Web Wiki
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