Commit d9dcd05c authored by tr's avatar tr

1、登录功能优化:增加密码过期校验

parent 3a28ba1f
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="UpdateTime" value="2021-10-11 17:24:21.963" />
<add key="UpdateTime" value="2021-10-11 18:11:12.770" />
<add key="LoginInfo" value="wwF/xpBzWek=" />
<add key="LoginVerify" value="v86f5Q3Xa7U=" />
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
......
......@@ -20,6 +20,10 @@ namespace Tools.MyCommon
/// </summary>
public static string LOGIN_INFO => "LoginInfo";
/// <summary>
/// 登录验证
/// </summary>
public static string LOGIN_VERIFY => "LoginVerify";
/// <summary>
/// 更新时间
/// </summary>
public static string UPDATE_TIME => "UpdateTime";
......
......@@ -17,24 +17,30 @@ namespace Tools.UI.sys
public partial class wLogin : wBasic
{
DBHelper _db = null;
string TempName = "";
public wLogin()
/// <summary>
/// 构造:登录窗口
/// </summary>
/// <param name="tempName">临时用户名</param>
public wLogin(string tempName)
{
InitializeComponent();
//
this.DialogResult = DialogResult.None;
this.TempName = tempName;
}
private void wLogin_Load(object sender, EventArgs e)
{
this.tbUserName.Text = LoginInfo.UserName;
this.tbUserName.Text = string.IsNullOrEmpty(this.TempName) ? LoginInfo.UserName : this.TempName;
}
private void btnLogin_Click(object sender, EventArgs e)
{
if (_db == null)
_db = new DBHelper(Utils.GetDbLinkString204("FTT_Work"));
//
//获取用户名和密码
var userName = this.tbUserName.Text.Trim();
var password = Utils.Encryptor(this.tbPassword.Text);
var sql = $@"
......@@ -56,6 +62,7 @@ namespace Tools.UI.sys
LoginInfo.IsPrincipal = Convert.ToBoolean(dt.DefaultView[0]["IsPrincipal"].ToString());
//保存登录信息
Utils.AppSettings(APP.LOGIN_INFO, Utils.Encryptor(dt.DefaultView[0]["ID"].ToString()));
Utils.AppSettings(APP.LOGIN_VERIFY, password);
//关闭窗口
this.DialogResult = DialogResult.OK;
this.Close();
......
......@@ -54,8 +54,6 @@ namespace Tools
this.CheckPower();
//渲染菜单
this.RenderMenu();
//非部门管理员,禁用上传更新
this.tsmiSysUpload.Enabled = LoginInfo.IsPrincipal;
}
private void WMainView_Shown(object sender, EventArgs e)
{
......@@ -439,11 +437,7 @@ namespace Tools
//登录人员点击
private void LbSysLoginUser_Click(object sender, EventArgs e)
{
wLogin login = new wLogin();
if (login.ShowDialog() == DialogResult.OK)
{
this.SetLoginUserName();
}
this.ShowLoginWindow();
}
#endregion
......@@ -552,22 +546,56 @@ namespace Tools
if (dt.DefaultView.Count > 0)
{
var userName = dt.DefaultView[0]["UserName"].ToString();
//初始化登录人员信息
LoginInfo.UserName = userName;
LoginInfo.Password = dt.DefaultView[0]["Password"].ToString();
LoginInfo.IsPrincipal = Convert.ToBoolean(dt.DefaultView[0]["IsPrincipal"].ToString());
var password = dt.DefaultView[0]["Password"].ToString();
//验证密码
var loginVerify = Utils.AppSettings(APP.LOGIN_VERIFY);
if (loginVerify != password)
{
if (Utils.TipYN("密码已过期,请重新登录!"))
{
if (this.ShowLoginWindow(userName))
{
return;
}
}
}
else
{
//初始化登录人员信息
LoginInfo.UserName = userName;
LoginInfo.Password = password;
LoginInfo.IsPrincipal = Convert.ToBoolean(dt.DefaultView[0]["IsPrincipal"].ToString());
}
}
}
//
//设置登录用户名
this.SetLoginUserName();
}
/// <summary>
/// 显示登录窗口
/// </summary>
/// <param name="tempName">临时用户名</param>
/// <returns>bool</returns>
private bool ShowLoginWindow(string tempName = "")
{
wLogin login = new wLogin(tempName);
var isOK = login.ShowDialog() == DialogResult.OK;
if (isOK)
{
this.SetLoginUserName();
}
return isOK;
}
/// <summary>
/// 设置登录人员名称
/// </summary>
/// <param name="userName"></param>
private void SetLoginUserName()
{
//设置登录用户名
this.lbSysLoginUser.Text = LoginInfo.UserName;
//非部门管理员,禁用上传更新
this.tsmiSysUpload.Enabled = LoginInfo.IsPrincipal;
}
#endregion
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment