One more change related to Users DB.

This commit is contained in:
Milan Hanajik 2016-12-20 10:16:08 +01:00
parent b4e84c36b8
commit 98fe6223b4
2 changed files with 34 additions and 6 deletions

View File

@ -24,9 +24,9 @@ namespace Config
{
BenchName = String.Empty; /// Empty string (avoid null)
IsRealBench = false;
ProceduresDBSettings = new DBSettings(Entities.DBType.MySql, "SERVER=localhost; DATABASE=tbf; UID=root; PASSWORD=;");
WaterMetersDBSettings = new DBSettings(Entities.DBType.MySql, "SERVER=localhost; DATABASE=tbf-r; UID=root; PASSWORD=;");
UsersDBSettings = new DBSettings(Entities.DBType.MySql, "SERVER=localhost; DATABASE=tbf-u; UID=root; PASSWORD=;");
ProceduresDBSettings = new DBSettings(Entities.DBType.MySql, string.Empty);
WaterMetersDBSettings = new DBSettings(Entities.DBType.MySql, string.Empty);
UsersDBSettings = new DBSettings(Entities.DBType.MySql, string.Empty);
}
public object Clone()

View File

@ -215,17 +215,45 @@ namespace TBF
authorized = loadedUser.Authorize(loginDlgBench.User, loginDlgBench.Password);
}
///
/// Try authorisation with Users DB first
///
if (!authorized)
{
/// Load user from the UsersAndGroupsDB database
loadedUser = User.LoadUserByName(loginDlgBench.User,
LocalSettings.TestBenches[i].ProceduresDBSettings);
bool settingsChanged = false;
if (string.IsNullOrEmpty(LocalSettings.TestBenches[i].UsersDBSettings.ConnectionString))
{
LocalSettings.TestBenches[i].UsersDBSettings.ConnectionString = LocalSettings.TestBenches[i].ProceduresDBSettings.ConnectionString;
LocalSettings.TestBenches[i].UsersDBSettings.DbType = LocalSettings.TestBenches[i].ProceduresDBSettings.DbType;
settingsChanged = true;
}
/// Load user from the UsersAndGroupsDB database
loadedUser = Users.Entities.User.LoadUserByName(loginDlgBench.User,
LocalSettings.TestBenches[i].UsersDBSettings);
if (loadedUser != null)
{
authorized = loadedUser.Authorize(loginDlgBench.User, loginDlgBench.Password);
if (authorized && settingsChanged) LocalSettings.Save();
}
}
///
/// One more attempt: authorisation with Config DB
///
if (!authorized)
{
/// Load user from the UsersAndGroupsDB database
loadedUser = User.LoadUserByName(loginDlgBench.User,
LocalSettings.TestBenches[i].ProceduresDBSettings);
if (loadedUser != null)
{
authorized = loadedUser.Authorize(loginDlgBench.User, loginDlgBench.Password);
}
}
if (authorized)
{
if (LocalSettings.TestBenches[i].IsRealBench)