ISecurityRepositoryService
ISecurityRepositoryService
in assembly SanteDB.Core.Api version 3.0.1980.0
Summary
Security repository service is responsible for the maintenance of security entities
Operations
ChangePassword
SecurityUser
Guid userId String password
Changes a user's password.
GetProviderEntity
Provider
IIdentity identity
Gets the specified provider entity from the specified identity
GetSid
Guid
IIdentity identity
Get the security identifier for the provided
ResolveName
String
Guid sid
Resolves the name from a security identifier
GetUser
SecurityUser
String userName
Get a user by user name
GetDevice
SecurityDevice
String deviceName
Get a device by name
GetApplication
SecurityApplication
String applicationName
Get a app by name
GetPolicy
SecurityPolicy
String policyOid
Get the specified security policy by OID
GetRole
SecurityRole
String roleName
Gets a specific role.
LockDevice
void
Guid key
Locks a device principal
LockApplication
void
Guid key
Locks an application
UnlockDevice
void
Guid key
Removes a lock from a device
UnlockApplication
void
Guid key
Removes a lock from an application
GetUser
SecurityUser
IIdentity identity
Get a user by user name
GetDevice
SecurityDevice
IIdentity identity
Get a device by name
GetApplication
SecurityApplication
IIdentity identity
Get a app by name
GetUserEntity
UserEntity
IIdentity identity
Get the user entity
LockUser
void
Guid userId
Locks a specific user.
UnlockUser
void
Guid userId
Unlocks a specific user.
GetProvenance
SecurityProvenance
Guid provenanceId
Get the provenance object
GetSecurityEntity
SecurityEntity
IPrincipal principal
Get the data object for the provided
GetCdrEntity
Entity
IPrincipal principal
Get the CDR entity which is assigned to the
FindProvenance
IQueryResultSet<SecurityProvenance>
Expression<Func<SecurityProvenance,Boolean>> query
Find provenance objects matching the specified object
Implementations
BridgedSecurityRepositoryService - (SanteDB.Client)
Represents a security repository service that will use local or upstream data based on the availibity of the services for upstream
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Client.Upstream.Repositories.BridgedSecurityRepositoryService, SanteDB.Client, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
UpstreamSecurityRepository - (SanteDB.Client)
A security repository that uses the upstream services to perform its duties
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Client.Upstream.Repositories.UpstreamSecurityRepository, SanteDB.Client, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalSecurityRepositoryService - (SanteDB.Core.Api)
Represents a security repository service that uses the direct local services
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalSecurityRepositoryService, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
Example Implementation
/// Example Implementation
using SanteDB.Core.Services;
/// Other usings here
public class MySecurityRepositoryService : SanteDB.Core.Services.ISecurityRepositoryService {
public String ServiceName => "My own ISecurityRepositoryService service";
/// <summary>
/// Changes a user's password.
/// </summary>
public SecurityUser ChangePassword(Guid userId,String password){
throw new System.NotImplementedException();
}
/// <summary>
/// Gets the specified provider entity from the specified identity
/// </summary>
public Provider GetProviderEntity(IIdentity identity){
throw new System.NotImplementedException();
}
/// <summary>
/// Get the security identifier for the provided
/// </summary>
public Guid GetSid(IIdentity identity){
throw new System.NotImplementedException();
}
/// <summary>
/// Resolves the name from a security identifier
/// </summary>
public String ResolveName(Guid sid){
throw new System.NotImplementedException();
}
/// <summary>
/// Get a user by user name
/// </summary>
public SecurityUser GetUser(String userName){
throw new System.NotImplementedException();
}
/// <summary>
/// Get a device by name
/// </summary>
public SecurityDevice GetDevice(String deviceName){
throw new System.NotImplementedException();
}
/// <summary>
/// Get a app by name
/// </summary>
public SecurityApplication GetApplication(String applicationName){
throw new System.NotImplementedException();
}
/// <summary>
/// Get the specified security policy by OID
/// </summary>
public SecurityPolicy GetPolicy(String policyOid){
throw new System.NotImplementedException();
}
/// <summary>
/// Gets a specific role.
/// </summary>
public SecurityRole GetRole(String roleName){
throw new System.NotImplementedException();
}
/// <summary>
/// Locks a device principal
/// </summary>
public void LockDevice(Guid key){
throw new System.NotImplementedException();
}
/// <summary>
/// Locks an application
/// </summary>
public void LockApplication(Guid key){
throw new System.NotImplementedException();
}
/// <summary>
/// Removes a lock from a device
/// </summary>
public void UnlockDevice(Guid key){
throw new System.NotImplementedException();
}
/// <summary>
/// Removes a lock from an application
/// </summary>
public void UnlockApplication(Guid key){
throw new System.NotImplementedException();
}
/// <summary>
/// Get a user by user name
/// </summary>
public SecurityUser GetUser(IIdentity identity){
throw new System.NotImplementedException();
}
/// <summary>
/// Get a device by name
/// </summary>
public SecurityDevice GetDevice(IIdentity identity){
throw new System.NotImplementedException();
}
/// <summary>
/// Get a app by name
/// </summary>
public SecurityApplication GetApplication(IIdentity identity){
throw new System.NotImplementedException();
}
/// <summary>
/// Get the user entity
/// </summary>
public UserEntity GetUserEntity(IIdentity identity){
throw new System.NotImplementedException();
}
/// <summary>
/// Locks a specific user.
/// </summary>
public void LockUser(Guid userId){
throw new System.NotImplementedException();
}
/// <summary>
/// Unlocks a specific user.
/// </summary>
public void UnlockUser(Guid userId){
throw new System.NotImplementedException();
}
/// <summary>
/// Get the provenance object
/// </summary>
public SecurityProvenance GetProvenance(Guid provenanceId){
throw new System.NotImplementedException();
}
/// <summary>
/// Get the data object for the provided
/// </summary>
public SecurityEntity GetSecurityEntity(IPrincipal principal){
throw new System.NotImplementedException();
}
/// <summary>
/// Get the CDR entity which is assigned to the
/// </summary>
public Entity GetCdrEntity(IPrincipal principal){
throw new System.NotImplementedException();
}
/// <summary>
/// Find provenance objects matching the specified object
/// </summary>
public IQueryResultSet<SecurityProvenance> FindProvenance(Expression<Func<SecurityProvenance,Boolean>> query){
throw new System.NotImplementedException();
}
}
References
Last updated
Was this helpful?