📄 login.cs
字号:
namespace PowerEasy.WebSite.Admin
{
using PowerEasy.Common;
using PowerEasy.Components;
using PowerEasy.Controls;
using PowerEasy.Enumerations;
using PowerEasy.Logging;
using PowerEasy.Model.UserManage;
using PowerEasy.UserManage;
using PowerEasy.Web.UI;
using System;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
public class Login : AdminPage
{
protected ImageButton IbtnEnter;
protected HtmlGenericControl LiSiteManageCode;
protected TextBox TxtAdminValidateCode;
protected TextBox TxtPassword;
protected TextBox TxtUserName;
protected TextBox TxtValidateCode;
protected ValidationSummary ValidationSummary1;
protected PowerEasy.Controls.RequiredFieldValidator ValrAdminValidateCode;
protected PowerEasy.Controls.RequiredFieldValidator ValrPassword;
protected PowerEasy.Controls.RequiredFieldValidator ValrUserName;
protected PowerEasy.Controls.RequiredFieldValidator ValrValidateCode;
protected ValidateCode VcodeLogin;
protected void IbtnEnter_Click(object sender, ImageClickEventArgs e)
{
if (string.Compare(this.TxtValidateCode.Text.Trim(), this.VcodeLogin.ValidateCodeValue, true) != 0)
{
AdminPage.WriteErrMsg("<li>您输入的验证码和系统产生的不一致,请重新输入。</li>", "Login.aspx");
}
if (SiteConfig.SiteOption.EnableSiteManageCode && (this.TxtAdminValidateCode.Text.Trim() != SiteConfig.SiteOption.SiteManageCode))
{
AdminPage.WriteErrMsg("<li>您输入管理认证码不正确,请重新输入。</li>", "Login.aspx");
}
AdministratorInfo info = Administrators.AuthenticateAdmin(this.TxtUserName.Text.Trim(), this.TxtPassword.Text.Trim());
if (info.IsLock)
{
AdminPage.WriteErrMsg("<li>此管理员已经被锁定,请联系网站管理员!</li>", "Login.aspx");
}
LogInfo info2 = new LogInfo();
info2.UserName = info.AdminName;
info2.UserIP = PEContext.Current.UserHostAddress;
info2.ScriptName = base.Request.RawUrl;
info2.Timestamp = DateTime.Now;
info2.Source = "";
ILog log = LogFactory.CreateLog();
if (!info.IsNull && (string.Compare(info.AdminName, this.TxtUserName.Text.Trim(), true) == 0))
{
AdminPrincipal principal = new AdminPrincipal();
principal.UserName = info.UserName;
principal.AdminName = info.AdminName;
principal.RndPassword = info.RndPassword;
string userData = principal.SerializeToString();
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, info.AdminName, DateTime.Now, DateTime.Now.AddMinutes((double) SiteConfig.SiteOption.TicketTime), false, userData);
string str2 = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName + "AdminCookie", str2);
cookie.HttpOnly = true;
cookie.Path = FormsAuthentication.FormsCookiePath;
cookie.Secure = FormsAuthentication.RequireSSL;
base.Response.Cookies.Add(cookie);
if (base.Request.Cookies[FormsAuthentication.FormsCookieName] == null)
{
UserInfo usersByUserName = Users.GetUsersByUserName(principal.UserName);
if (!usersByUserName.IsNull && (usersByUserName.Status == UserStatus.None))
{
string str3 = DataSecurity.MakeRandomString(10);
usersByUserName.LoginTimes++;
usersByUserName.LastLoginTime = new DateTime?(DateTime.Now);
usersByUserName.LastLoginIP = PEContext.Current.UserHostAddress;
usersByUserName.LastPassword = str3;
Users.Update(usersByUserName);
UserPrincipal principal2 = new UserPrincipal();
principal2.UserName = principal.UserName;
principal2.LastPassword = str3;
FormsAuthenticationTicket ticket2 = new FormsAuthenticationTicket(1, principal.UserName, DateTime.Now, DateTime.Now.AddDays(1.0), false, principal2.SerializeToString());
string str4 = FormsAuthentication.Encrypt(ticket2);
HttpCookie cookie2 = new HttpCookie(FormsAuthentication.FormsCookieName, str4);
cookie2.HttpOnly = true;
cookie2.Path = FormsAuthentication.FormsCookiePath;
cookie2.Secure = FormsAuthentication.RequireSSL;
this.Session["UserName"] = principal2.UserName;
base.Response.Cookies.Add(cookie2);
}
}
info2.PostString = "";
info2.Category = LogCategory.LoginOk;
info2.Message = "登录成功";
info2.Title = info.AdminName + " 登录成功";
info2.Priority = LogPriority.Normal;
log.Add(info2);
BasePage.ResponseRedirect("Index.aspx", true);
}
else
{
info2.PostString = "\r\nFORM: " + HttpContext.Current.Request.Form.ToString() + "\r\nQUERYSTRING: " + HttpContext.Current.Request.QueryString.ToString();
info2.Category = LogCategory.LoginFailure;
info2.Message = "登录失败";
info2.Title = this.TxtUserName.Text.Trim() + " 登录失败";
info2.Priority = LogPriority.Highest;
log.Add(info2);
AdminPage.WriteErrMsg("<li>用户登录名称或用户密码不对!</li>");
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!SiteConfig.SiteOption.EnableSiteManageCode)
{
this.LiSiteManageCode.Visible = false;
this.ValrAdminValidateCode.Enabled = false;
}
if (!this.Page.IsPostBack && SiteConfig.SiteOption.EnableSoftKey)
{
this.TxtPassword.Attributes.Add("onfocus", "ShowSoftKeyboard(this)");
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -