50 lines
1.0 KiB
C#
50 lines
1.0 KiB
C#
using System;
|
|
using System.IO;
|
|
using sscs.cache;
|
|
|
|
namespace sscs.common
|
|
{
|
|
abstract class User
|
|
{
|
|
protected UserIdentifier userId;
|
|
public UserIdentifier UserIdentifier
|
|
{
|
|
get
|
|
{
|
|
return userId;
|
|
}
|
|
}
|
|
|
|
|
|
protected SecretStore secretStore;
|
|
|
|
protected string home;
|
|
|
|
/* Change the protection level after getting the latest requirements */
|
|
|
|
protected string userName = null;
|
|
|
|
abstract internal void SetUserName(string userName);
|
|
abstract internal string GetUserName();
|
|
abstract internal string GetUserHomeDir();
|
|
|
|
internal SecretStore GetSecretStore()
|
|
{
|
|
return secretStore;
|
|
}
|
|
|
|
internal static User CreateUser(UserIdentifier userId)
|
|
{
|
|
User user = null;
|
|
#if LINUX
|
|
user = new UnixUser(userId);
|
|
#endif
|
|
#if W32
|
|
user = new WinUser(userId);
|
|
#endif
|
|
return user;
|
|
|
|
}
|
|
}
|
|
}
|