mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-25 19:38:37 +08:00
created credential saver and loader classes
This commit is contained in:
33
mRemoteV1/Config/CredentialRecordLoader.cs
Normal file
33
mRemoteV1/Config/CredentialRecordLoader.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Security;
|
||||
using mRemoteNG.Config.DataProviders;
|
||||
using mRemoteNG.Config.Serializers;
|
||||
using mRemoteNG.Credential;
|
||||
|
||||
|
||||
namespace mRemoteNG.Config
|
||||
{
|
||||
public class CredentialRecordLoader
|
||||
{
|
||||
private readonly IDataProvider<string> _dataProvider;
|
||||
private readonly XmlCredentialDeserializer _deserializer;
|
||||
|
||||
public CredentialRecordLoader(IDataProvider<string> dataProvider, XmlCredentialDeserializer deserializer)
|
||||
{
|
||||
if (dataProvider == null)
|
||||
throw new ArgumentNullException(nameof(dataProvider));
|
||||
if (deserializer == null)
|
||||
throw new ArgumentNullException(nameof(deserializer));
|
||||
|
||||
_dataProvider = dataProvider;
|
||||
_deserializer = deserializer;
|
||||
}
|
||||
|
||||
public IEnumerable<ICredentialRecord> Load(SecureString decryptionKey)
|
||||
{
|
||||
var serializedCredentials = _dataProvider.Load();
|
||||
return _deserializer.Deserialize(serializedCredentials, decryptionKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
33
mRemoteV1/Config/CredentialRecordSaver.cs
Normal file
33
mRemoteV1/Config/CredentialRecordSaver.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Security;
|
||||
using mRemoteNG.Config.DataProviders;
|
||||
using mRemoteNG.Config.Serializers;
|
||||
using mRemoteNG.Credential;
|
||||
|
||||
|
||||
namespace mRemoteNG.Config
|
||||
{
|
||||
public class CredentialRecordSaver
|
||||
{
|
||||
private readonly IDataProvider<string> _dataProvider;
|
||||
private readonly XmlCredentialRecordSerializer _serializer;
|
||||
|
||||
public CredentialRecordSaver(IDataProvider<string> dataProvider, XmlCredentialRecordSerializer serializer)
|
||||
{
|
||||
if (dataProvider == null)
|
||||
throw new ArgumentNullException(nameof(dataProvider));
|
||||
if (serializer == null)
|
||||
throw new ArgumentNullException(nameof(serializer));
|
||||
|
||||
_dataProvider = dataProvider;
|
||||
_serializer = serializer;
|
||||
}
|
||||
|
||||
public void Save(IEnumerable<ICredentialRecord> credentialRecords, SecureString encryptionKey)
|
||||
{
|
||||
var serializedCredentials = _serializer.Serialize(credentialRecords, encryptionKey);
|
||||
_dataProvider.Save(serializedCredentials);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -133,6 +133,8 @@
|
||||
<Compile Include="Config\Connections\Multiuser\IConnectionsUpdateChecker.cs" />
|
||||
<Compile Include="Config\Connections\Multiuser\ConnectionsUpdateAvailableEventArgs.cs" />
|
||||
<Compile Include="Config\Connections\Multiuser\RemoteConnectionsSyncronizer.cs" />
|
||||
<Compile Include="Config\CredentialRecordLoader.cs" />
|
||||
<Compile Include="Config\CredentialRecordSaver.cs" />
|
||||
<Compile Include="Config\Serializers\ActiveDirectoryDeserializer.cs" />
|
||||
<Compile Include="Config\Serializers\CredentialProviderSerializer\CredentialProviderSerializer.cs" />
|
||||
<Compile Include="Config\Serializers\CsvConnectionsSerializerMremotengFormat.cs" />
|
||||
|
||||
Reference in New Issue
Block a user