---
myst:
substitutions:
ico_method: |-
```{image} /img/code_reference/net_library/method.ico
:width: 15px
```
ico_prop: |-
```{image} /img/code_reference/net_library/prop.ico
:width: 15px
```
---
# SecurityPrincipal Class
**Namespace:** bcpDevKit.Entities.Configuration\
**Assembly:** bcpDevKit.dll
## Syntax
```csharp
public abstract class SecurityPrincipal
```
## Properties
| Type | Name | Description |
|------------------------------------------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| {{ico_prop}} string | Name | Gets or sets the entity name. |
| {{ico_prop}} bool | Active | Gets or sets whether the user is active or inactive. Default is *true*. |
| {{ico_prop}} SecurityPrincipal.VaultAccess | Access | Possible Values:
- SecurityPrincipal.VaultAccess.NoVaults
- SecurityPrincipal.VaultAccess.AllVaults (**Default**)
- SecurityPrincipal.VaultAccess.ThisVault |
| {{ico_prop}} SecurityPrincipal.VaultAuthentication | Authentication | Possible Values:
- SecurityPrincipal.VaultAuthentication.Vault (**Default**)
- SecurityPrincipal.VaultAuthentication.Windows |
| {{ico_prop}} IEnumerable\<`InRoleObject`\> | InRoleObject | Gets all the assigned roles. |
| {{ico_prop}} IEnumerable\<`InGroupObject`\> | InGroupObject | Gets all the assigned groups. |
## Methods
| Type | Name | Description |
|------------------------------------------------|----------------------------|------------------------------------------------------------------------|
| {{ico_method}} [InRoleObject]() | AddRole(string roleName) | Creates and adds a new role if no one with the specified name exists. |
| {{ico_method}} [InGroupObject]() | AddGroup(string groupName) | Creates and adds a new group if no one with the specified name exists. |