Backup
This commit is contained in:
parent
1fc742f477
commit
77ec57f97e
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using MECF.Framework.Common.Account.Extends;
|
||||
|
||||
namespace Aitex.Core.Account
|
||||
{
|
||||
|
@ -6,30 +7,30 @@ namespace Aitex.Core.Account
|
|||
public class LoginResult
|
||||
{
|
||||
/// <summary>
|
||||
/// 设置或返回是否登录成功。
|
||||
/// 设置或返回是否登录成功。
|
||||
/// </summary>
|
||||
public bool ActSucc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 设置或返回登录成功后RT分配的唯一识别码。
|
||||
/// 设置或返回登录成功后RT分配的唯一识别码。
|
||||
/// <remarks>
|
||||
/// 该唯一识别码用于在RT区分每一个不同的客户端连接。
|
||||
/// 该唯一识别码用于在RT区分每一个不同的客户端连接。
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
public string SessionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 设置或返回登录的账户信息。
|
||||
/// 设置或返回登录的账户信息。
|
||||
/// </summary>
|
||||
public Account AccountInfo { get; set; }
|
||||
public AccountEx AccountInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 设置或返回登录结果描述。
|
||||
/// 设置或返回登录结果描述。
|
||||
/// </summary>
|
||||
public string Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 设置或返回登录时间。
|
||||
/// 设置或返回登录时间。
|
||||
/// </summary>
|
||||
public DateTime LoginTime { get; set; }
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Security.Principal;
|
||||
using System.Threading;
|
||||
using Aitex.Common.Util;
|
||||
using Aitex.Core.Account;
|
||||
|
@ -18,7 +19,9 @@ namespace MECF.Framework.Common.Account
|
|||
{
|
||||
#region Variables
|
||||
|
||||
private readonly Dictionary<string, AccountEx> _loginUserList = new ();
|
||||
private readonly Dictionary<string, LoginResult> _dicLoginNameToLoginResult = new ();
|
||||
private readonly Dictionary<string, LoginResult> _dicSessionIdToLoginResult = new ();
|
||||
|
||||
private readonly string _scAccountFile = PathManager.GetCfgDir() + "Account//Account.xml";
|
||||
private readonly string _scAccountLocalFile = PathManager.GetCfgDir() + "Account//_Account.xml";
|
||||
|
||||
|
@ -88,19 +91,23 @@ namespace MECF.Framework.Common.Account
|
|||
if (roleId == role)
|
||||
{
|
||||
loginResult.ActSucc = true;
|
||||
loginResult.AccountInfo = account;
|
||||
loginResult.Description = AuthorizeResult.None.ToString();
|
||||
foreach (var loginUser in _loginUserList)
|
||||
foreach (var kvp in _dicLoginNameToLoginResult)
|
||||
{
|
||||
var loggedIn = kvp.Value;
|
||||
|
||||
if (!SC.ContainsItem("System.AllowMultiClientLogin") ||
|
||||
!SC.GetValue<bool>("System.AllowMultiClientLogin") ||
|
||||
loginUser.Value.LoginName == loginName)
|
||||
loggedIn.AccountInfo.LoginName == loginName)
|
||||
{
|
||||
EV.PostKickoutMessage(loginUser.Value.SessionId);
|
||||
EV.PostKickoutMessage(loggedIn.SessionId);
|
||||
}
|
||||
}
|
||||
|
||||
account.SessionId = loginResult.SessionId;
|
||||
_loginUserList[loginName] = account;
|
||||
_dicLoginNameToAccountInfo[loginName] = account;
|
||||
_dicSessionIdToAccountInfo[account.SessionId] = account;
|
||||
return loginResult;
|
||||
}
|
||||
|
||||
|
@ -124,11 +131,12 @@ namespace MECF.Framework.Common.Account
|
|||
|
||||
internal void Logout(string accountId, string loginId)
|
||||
{
|
||||
foreach (string key in _loginUserList.Keys)
|
||||
foreach (string key in _dicLoginNameToAccountInfo.Keys)
|
||||
{
|
||||
if (accountId == key && _loginUserList[key].SessionId == loginId)
|
||||
if (accountId == key && _dicLoginNameToAccountInfo[key].SessionId == loginId)
|
||||
{
|
||||
_loginUserList.Remove(key);
|
||||
_dicSessionIdToAccountInfo.Remove(accou)
|
||||
_dicLoginNameToAccountInfo.Remove(key);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -102,12 +102,7 @@ namespace MECF.Framework.Common.Account.Extends
|
|||
get => _mStrPassword;
|
||||
set => _mStrPassword = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置或返回当前用户登录的Session ID。
|
||||
/// </summary>
|
||||
public string SessionId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 设置或返回当前用户是否为超级用户。
|
||||
/// </summary>
|
||||
|
|
|
@ -7,43 +7,17 @@ namespace MECF.Framework.Common.Account.Extends
|
|||
public class UserContext : NotifiableItem
|
||||
{
|
||||
private string _loginName;
|
||||
|
||||
private string _rolename;
|
||||
|
||||
public string Address { get; set; }
|
||||
|
||||
public string HostName { get; set; }
|
||||
|
||||
|
||||
public string LoginName
|
||||
{
|
||||
get
|
||||
{
|
||||
return _loginName;
|
||||
}
|
||||
get => _loginName;
|
||||
set
|
||||
{
|
||||
_loginName = value;
|
||||
InvokePropertyChanged("LoginName");
|
||||
InvokePropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public string RoleName
|
||||
{
|
||||
get
|
||||
{
|
||||
return _rolename;
|
||||
}
|
||||
set
|
||||
{
|
||||
_rolename = value;
|
||||
InvokePropertyChanged("RoleName");
|
||||
}
|
||||
}
|
||||
|
||||
public string RoleID { get; set; }
|
||||
|
||||
public string LoginId { get; set; }
|
||||
|
||||
|
||||
public Role Role { get; set; }
|
||||
|
||||
public DateTime LoginTime { get; set; }
|
||||
|
@ -52,6 +26,8 @@ namespace MECF.Framework.Common.Account.Extends
|
|||
|
||||
public int Token { get; set; }
|
||||
|
||||
public string SessionId { get; set; }
|
||||
|
||||
public string Language { get; private set; }
|
||||
|
||||
public bool IsLogin { get; set; }
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace MECF.Framework.UI.Client.CenterViews.LogOnOff
|
|||
this.DisplayName = (string)Application.Current.Resources["AppName"];
|
||||
this.DialogResult = UserMode.None;
|
||||
this.LoginName = BaseApp.Instance.UserContext.LoginName;
|
||||
this.RoleName = BaseApp.Instance.UserContext.RoleName;
|
||||
this.RoleName = BaseApp.Instance.UserContext.Role.RoleName;
|
||||
this.LoginTime = BaseApp.Instance.UserContext.LoginTime;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue