AFSecurityMapping Class
- Last UpdatedNov 18, 2025
- 9 minute read
- PI System
- AF SDK 2024 R2
- Developer

Inheritance Hierarchy
Namespace: OSIsoft.AF
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
[SerializableAttribute] public sealed class AFSecurityMapping : AFObject, IAFTransactable, IAFChangedEvent, IAFSecurable, IComparable<AFSecurityMapping>
<SerializableAttribute> Public NotInheritable Class AFSecurityMapping Inherits AFObject Implements IAFTransactable, IAFChangedEvent, IAFSecurable, IComparable(Of AFSecurityMapping) Dim instance As AFSecurityMapping
[SerializableAttribute] public ref class AFSecurityMapping sealed : public AFObject, IAFTransactable, IAFChangedEvent, IAFSecurable, IComparable<AFSecurityMapping^>
[<SealedAttribute>] [<SerializableAttribute>] type AFSecurityMapping = class inherit AFObject interface IAFTransactable interface IAFChangedEvent interface IAFSecurable interface IComparable<AFSecurityMapping> end
The AFSecurityMapping type exposes the following members.
Properties
| Name | Description | |
|---|---|---|
| Account |
The account that is being mapped to the SecurityIdentity.
| |
| AccountDisplayName |
The name of the account that is being mapped to the SecurityIdentity.
| |
| CheckOutInfo |
This read-only property returns the checked out status information for the object.
| |
| Description |
Read/write property that provides a more detailed description of the object.
| |
| ID |
Read-only property that provides a unique identifier for the object to be used for
quick access that is not dependent upon the index.
(Inherited from AFObject.) | |
| Identity |
This read-only property contains identity of the object.
(Inherited from AFObject.) | |
| IsDeleted |
This read-only property indicates whether the object has been deleted.
(Inherited from AFObject.) | |
| IsDirty |
This read-only property indicates whether the object has been modified since the
last save to the PI AF Server.
| |
| IsNew |
This read-only property indicates whether the object is new and has never been saved
to the PI AF Server.
| |
| MappingType |
Gets the AFSecurityMappingType for the current AFSecurityMapping | |
| Name |
Read/write property that identifies the name of the object.
| |
| PISystem |
This read-only property allows access to the PISystem associated with this
object.
(Inherited from AFObject.) | |
| Security |
This read-only property returns the AFSecurity information for the object.
| |
| SecurityIdentity |
The AFSecurityIdentity associated with this security mapping.
| |
| UniqueID |
Read-only property that provides the object's ID as a String.
(Inherited from AFObject.) |
Methods
| Name | Description | |
|---|---|---|
| ApplyChanges |
This method applies the changes to the object and makes
those changes available to other objects for the current user.
| |
| CheckIn |
This method checks in (commits) all the changes to the object by saving
the information to persistent storage.
| |
| CheckOut |
This method locks the object so that its configuration can be modified.
| |
| CheckOutSecurityMappings |
Check out the objects with the specified unique identifiers at the specified query date.
| |
| CompareTo(Object) |
Compares this instance with a specified Object.
(Inherited from AFObject.) | |
| CompareTo(AFObject) |
Compares this instance with a specified AFObject.
(Inherited from AFObject.) | |
| DeleteSecurityMappings |
Delete the objects with the specified unique identifiers.
| |
| Equals(Object) |
Determines whether the specified Object is equal to the current object.
(Inherited from AFObject.) | |
| Equals(AFObject) |
Indicates whether the current object is equal to another object of the same type.
(Inherited from AFObject.) | |
| FindSecurityMapping |
Retrieves the AFSecurityMapping object with the specified unique identifier.
| |
| FindSecurityMappings |
Performs a text search within the PISystem to retrieve a collection
of AFSecurityMapping objects that match the specified query string.
| |
| GetHashCode |
Gets the hash code for this instance of the object which is suitable for use in hashing
algorithms and data structures like a hash table.
(Inherited from AFObject.) | |
| GetPath |
Returns the full path to the object, using just the names.
(Inherited from AFObject.) | |
| GetPath(AFObject) |
Returns the path to the object relative from another object.
(Inherited from AFObject.) | |
| GetPath(AFEncodeType, AFObject) |
Returns the path to the object relative from another object,
using the name and/or id as specified
by encodeType.
(Inherited from AFObject.) | |
| GetSecurity |
Gets the AFSecurity information of the specified security item
associated with the object.
| |
| GetType | Gets the Type of the current instance. (Inherited from Object.) | |
| LoadSecurityMappings |
Loads the AFSecurityMapping objects with the specified unique identifiers.
| |
| Persist |
This method returns the persistence string for the object.
(Inherited from AFObject.) | |
| Refresh |
Refreshes the client with any changes that have been made to the object since loaded.
| |
| ToString |
Returns a String that represents the current object.
(Inherited from AFObject.) | |
| UndoCheckOut |
This method discards all the changes to the object and all sub-objects since the
last call to CheckOut. Any changes since the check out will be lost.
|
Events
| Name | Description | |
|---|---|---|
| Changed |
Event is raised when the object or one of its sub-objects is changed.
|
Remarks
A mapping creates an association between an user identity (such as an Active Directory Group on Windows) with an AFSecurityIdentity on a PISystem (PI AF Server). Once the user identity is mapped to an AFSecurityIdentity, the security identity is used to determine security permissions on the IAFSecurable objects.
Use the AFSecurityMappingsAdd method to create a new AFSecurityMapping.
The PISystem.Supports method can be used to check if the PISystem supports the SecurityIdentity feature.
Examples
// This example shows how to create and configure Security Identities // and Security Mappings. // Get the PISystem PISystems myPISystems = new PISystems(); PISystem myPISystem = myPISystems.DefaultPISystem; // Add a new Security Identity AFSecurityIdentity myIdentity = myPISystem.SecurityIdentities.Add("MyTestUser"); myIdentity.Description = "Test User Identity"; myIdentity.CheckIn(); // Add a new Security Mapping for current user to the new Security Identity AFSecurityMapping myMapping1 = myPISystem.SecurityMappings.Add(null, null, myIdentity); myMapping1.Description = "Current User Mapping"; // Add a new Security Mapping for a different account to the new Security Identity NTAccount account = new NTAccount(@"Guest"); AFSecurityMapping myMapping2 = myPISystem.SecurityMappings.Add("MyGuest", account, myIdentity); myMapping2.Description = "My Guest Mapping"; myPISystem.CheckIn(); // Display each Security Mapping int securityMappingCount = myPISystem.SecurityMappings.Count; Console.WriteLine("Security Mapping Count = {0}", securityMappingCount); foreach (AFSecurityMapping CurMapping in myPISystem.SecurityMappings) { Console.WriteLine(" Name = {0}", CurMapping.Name); Console.WriteLine(" Description = {0}", CurMapping.Description); Console.WriteLine(" Account = {0}", CurMapping.Account); } // Display each Security Identity int securityIdentityCount = myPISystem.SecurityIdentities.Count; Console.WriteLine("Security Identity Count = {0}", securityIdentityCount); foreach (AFSecurityIdentity CurIdentity in myPISystem.SecurityIdentities) { Console.WriteLine(" Name = {0}", CurIdentity.Name); Console.WriteLine(" Description = {0}", CurIdentity.Description); } // Remove the new Security Identity which will remove the new Security Mappings. myPISystem.SecurityIdentities.Remove(myIdentity); myPISystem.CheckIn();
' This example shows how to create and configure Security Identities ' and Security Mappings. ' Get the PISystem Dim myPISystems As New PISystems() Dim myPISystem As PISystem = myPISystems.DefaultPISystem ' Add a new Security Identity Dim myIdentity As AFSecurityIdentity = myPISystem.SecurityIdentities.Add("MyTestUser") myIdentity.Description = "Test User Identity" myIdentity.CheckIn() ' Add a new Security Mapping for current user to the new Security Identity Dim myMapping1 As AFSecurityMapping = myPISystem.SecurityMappings.Add(Nothing, Nothing, myIdentity) myMapping1.Description = "Current User Mapping" ' Add a new Security Mapping for a different account to the new Security Identity Dim account As New NTAccount("Guest") Dim myMapping2 As AFSecurityMapping = myPISystem.SecurityMappings.Add("MyGuest", account, myIdentity) myMapping2.Description = "My Guest Mapping" myPISystem.CheckIn() ' Display each Security Mapping Dim securityMappingCount As Integer = myPISystem.SecurityMappings.Count Console.WriteLine("Security Mapping Count = {0}", securityMappingCount) For Each CurMapping As AFSecurityMapping In myPISystem.SecurityMappings Console.WriteLine(" Name = {0}", CurMapping.Name) Console.WriteLine(" Description = {0}", CurMapping.Description) Console.WriteLine(" Account = {0}", CurMapping.Account) Next ' Display each Security Identity Dim securityIdentityCount As Integer = myPISystem.SecurityIdentities.Count Console.WriteLine("Security Identity Count = {0}", securityIdentityCount) For Each CurIdentity As AFSecurityIdentity In myPISystem.SecurityIdentities Console.WriteLine(" Name = {0}", CurIdentity.Name) Console.WriteLine(" Description = {0}", CurIdentity.Description) Next ' Remove the new Security Identity which will remove the new Security Mappings. myPISystem.SecurityIdentities.Remove(myIdentity) myPISystem.CheckIn()
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.