From 07728d1048f34e1d048da63684b341ab30bc1d06 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Mon, 16 Oct 2023 02:01:27 +1100 Subject: FeedService and AclDialog --- PrincipalProviders/LocalPrincipalProvider.cs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'PrincipalProviders') 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); -- cgit v1.3