⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 login.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 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 + -