From 1dfcd24e34877e1a0153264397a1d052d7f7cf96 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Fri, 3 Apr 2020 10:46:07 +0200 Subject: [PATCH] LoginDlg improvements, read only property UserName. --- Users/Forms/LoginDlg.cs | 50 ++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/Users/Forms/LoginDlg.cs b/Users/Forms/LoginDlg.cs index 0db5de1d7..99f863d4a 100644 --- a/Users/Forms/LoginDlg.cs +++ b/Users/Forms/LoginDlg.cs @@ -16,7 +16,10 @@ namespace Users.Forms /// public partial class LoginDlg : Form { - // Private fields + /// Public readonly + public string UserName { get { return user; } } + + /// Private fields string user; string password; GID[] requiredGroupMembership; @@ -190,24 +193,27 @@ namespace Users.Forms { try { - Users.Entities.User loadedUser = Users.Entities.User.LoadUserByName(user, db); - if (loadedUser != null) + switch (Method) { - switch (Method) - { - default: - case Entities.LoginMethod.UserName: - authorized = loadedUser.Authorize(user, password, requiredGroupMembership); - break; - case Entities.LoginMethod.FullName: - authorized = loadedUser.AuthorizeFullName(user, password, requiredGroupMembership); - break; - case Entities.LoginMethod.Number: - int number; - if (!int.TryParse(user, out number)) break; - authorized = loadedUser.AuthorizeNumber(number, password, requiredGroupMembership); - break; - } + case Entities.LoginMethod.UserName: + default: + var usr1 = Users.Entities.User.LoadUserByName(user, db); + if (usr1 != null) { authorized = usr1.Authorize(user, password, requiredGroupMembership); } + break; + + case Entities.LoginMethod.FullName: + var usr2 = Users.Entities.User.LoadUserByFullName(user, db); + if (usr2 != null) { authorized = usr2.AuthorizeFullName(user, password, requiredGroupMembership); } + if (authorized) { user = usr2.UserName; } + break; + + case Entities.LoginMethod.Number: + int number; + if (!int.TryParse(user, out number)) break; + var usr3 = Users.Entities.User.LoadUserByNumber(number, db); + if (usr3 != null) { authorized = usr3.AuthorizeNumber(number, password, requiredGroupMembership); } + if (authorized) { user = usr3.UserName; } + break; } } catch (Exception) { } @@ -293,12 +299,16 @@ namespace Users.Forms if (loadedUser != null) { authorized = loadedUser.AuthorizeTag(tag, requiredGroupMembership); + + if (authorized) + { + user = loadedUser.UserName; + break; + } } } catch (Exception) { } - if (authorized) break; - authorizedAs = Entities.AuthorizedAs.LocalUser; }