diff options
| author | Jake Mannens <jake@asger.xyz> | 2023-10-16 02:01:27 +1100 |
|---|---|---|
| committer | Jake Mannens <jake@asger.xyz> | 2023-10-16 02:01:27 +1100 |
| commit | 07728d1048f34e1d048da63684b341ab30bc1d06 (patch) | |
| tree | 9c92b30be5f3cd060827edc2ff5836b6122a9cdd /PrincipalProviders/LocalPrincipalProvider.cs | |
| parent | ea89ec0c1b05ac246f2ffd5907daace27564100b (diff) | |
FeedService and AclDialog
Diffstat (limited to 'PrincipalProviders/LocalPrincipalProvider.cs')
| -rw-r--r-- | PrincipalProviders/LocalPrincipalProvider.cs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/PrincipalProviders/LocalPrincipalProvider.cs b/PrincipalProviders/LocalPrincipalProvider.cs index 5c27518..723ff81 100644 --- a/PrincipalProviders/LocalPrincipalProvider.cs +++ b/PrincipalProviders/LocalPrincipalProvider.cs @@ -66,6 +66,28 @@ public class LocalPrincipalProvider : PrincipalProvider { return groups.ToArray(); } + public override SecurityIdentifier? TranslateName(string name) { + using var db = dbFactory.CreateDbContext(); + try { + return db.Principals + .First(p => p.Name.ToLower() == name.ToLower().Trim()) + .Sid; + } catch(InvalidOperationException) { + return null; + } + } + + public override string? TranslateName(SecurityIdentifier sid) { + using var db = dbFactory.CreateDbContext(); + try { + return db.Principals + .First(p => p.Sid == sid) + .Name; + } catch(InvalidOperationException) { + return null; + } + } + public override bool ValidatePassword(IUser user, string password) => ((LocalUser) user).PasswordHash == HashPassword(password); |
