chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using Wellan.Data;
|
||||
using Wellan.Common;
|
||||
using System.Data.Common;
|
||||
|
||||
/// <summary>
|
||||
/// 使用者變更密碼
|
||||
/// </summary>
|
||||
public partial class forms_BPSN_UNBPSNP : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
SetClientFocus(txtOldPassword);
|
||||
}
|
||||
|
||||
protected void btnOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
lbErrMsg.Text = "";
|
||||
|
||||
if (txtNewPassword.Text == "")
|
||||
{
|
||||
lbErrMsg.Text = GetString("BPSN.NEWEMPTY");
|
||||
}
|
||||
else if (txtConfirmNewPassword.Text == "")
|
||||
{
|
||||
lbErrMsg.Text = GetString("BPSN.CONFEMPTY");
|
||||
}
|
||||
else if (txtNewPassword.Text != txtConfirmNewPassword.Text)
|
||||
{
|
||||
lbErrMsg.Text = GetString("BPSN.NEWDIFFER");
|
||||
}
|
||||
lbErrMsg.Visible = lbErrMsg.Text != "";
|
||||
if (lbErrMsg.Visible)
|
||||
return;
|
||||
|
||||
// 驗證舊密碼是否正確
|
||||
WQuery query = new WQuery(ConnectionType, ConnectionString);
|
||||
|
||||
DataTable ds;
|
||||
if (!UserId.ToUpper().StartsWith("Z"))
|
||||
ds = query.Select("SELECT BPAWD FROM BPSNView WHERE BPENO='" + UserId + "'");
|
||||
else
|
||||
ds = query.Select("SELECT BPPWD AS BPAWD FROM BPAP WHERE BPENO='" + UserId + "'");
|
||||
|
||||
string bpawd = ds.Rows[0]["BPAWD"].ToString();
|
||||
|
||||
if (bpawd == "\u007f\u007f\u007f\u007f")
|
||||
bpawd = "";
|
||||
else
|
||||
bpawd = WGuard1.KeyDec(bpawd);
|
||||
|
||||
if (txtOldPassword.Text != bpawd)
|
||||
{
|
||||
lbErrMsg.Text = GetString("BPSN.OLDERR");
|
||||
lbErrMsg.Visible = true;
|
||||
return;
|
||||
}
|
||||
|
||||
// 驗證新密碼是否合乎格式
|
||||
string newPass = WGuard1.KeyEnc(txtNewPassword.Text);
|
||||
if (WGuard1.KeyDec(newPass) != txtNewPassword.Text)
|
||||
{
|
||||
lbErrMsg.Text = GetString("BPSN.NEWERR");
|
||||
lbErrMsg.Visible = true;
|
||||
return;
|
||||
}
|
||||
|
||||
// 寫入新密碼
|
||||
DbCommand cmd = query.NewCommand();
|
||||
DbConnection conn = query.NewConnection();
|
||||
cmd.Connection = conn;
|
||||
if (!UserId.ToUpper().StartsWith("Z"))
|
||||
{
|
||||
cmd.CommandText = "UPDATE BPSN SET BPAWD=@BPAWD,TRDAT=GETDATE(), TRMOD='UPDATE', TRUSR=@TRUSR WHERE BPENO=@BPENO";
|
||||
}
|
||||
else
|
||||
{
|
||||
cmd.CommandText = "UPDATE BPAP SET BPPWD=@BPAWD,TRDAT=GETDATE(), TRMOD='UPDATE', TRUSR=@TRUSR WHERE BPENO=@BPENO";
|
||||
}
|
||||
cmd.Parameters.Add(query.NewParameter("@BPAWD", newPass));
|
||||
cmd.Parameters.Add(query.NewParameter("@TRUSR", UserId));
|
||||
cmd.Parameters.Add(query.NewParameter("@BPENO", UserId));
|
||||
|
||||
conn.Open();
|
||||
DbTransaction tran = conn.BeginTransaction();
|
||||
cmd.Transaction = tran;
|
||||
try
|
||||
{
|
||||
int i = cmd.ExecuteNonQuery();
|
||||
|
||||
if (i == 1)
|
||||
{
|
||||
tran.Commit();
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
Session["NOPASSWORD"] = "FALSE";
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
tran.Rollback();
|
||||
lbErrMsg.Text = GetString("BPSN.NEWERR");
|
||||
lbErrMsg.Visible = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
tran.Rollback();
|
||||
lbErrMsg.Text = GetString("BPSN.NEWERR");
|
||||
lbErrMsg.Visible = true;
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
cmd.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user