解决MySql布尔型新旧版本兼容问题,采用枚举来表示布尔型的数据表。由正向工程赋值
大石头 authored at 2018-05-15 21:21:05
2.07 KiB
X
using System;
using System.Threading;
using System.Web;
using NewLife.CommonEntity;
using NewLife.Log;
using NewLife.Threading;
using NewLife.Web;
using XCode;
using XCode.Membership;

public partial class Admin_Login : System.Web.UI.Page
{
    static Admin_Login()
    {
        // 引发反向工程
        ThreadPoolX.QueueUserWorkItem(delegate() { Int32 count = EntityFactory.CreateOperate(Provider.UserType).Cache.Entities.Count; });
    }

    public static IManageProvider Provider { get { return ManageProvider.Provider; } }

    protected void Page_Load(object sender, EventArgs e)
    {
        IManageUser user = Provider.Current;
        if (user != null)
        {
            if (Request["act"] == "logout")
                Provider.Current = null;
            else
                Response.Redirect("Default.aspx");
        }

        if (Request["login"] == "true") Login();
    }

    void Login()
    {
        try
        {
            String user = Request["user"];
            String pass = Request["pass"];

            Provider.Login(user, pass, false);
            if (Provider.Current != null)
            {
                // 处理记住密码
                HttpCookie cookie = Response.Cookies["Admin"];
                if (WebHelper.RequestBool("remember"))
                    cookie.Expires = DateTime.Now.AddDays(30);
                else
                    cookie.Expires = DateTime.MinValue;

                Response.Redirect("Default.aspx");
            }
            else
            {
                XTrace.WriteLine("{0}登录失败,但是没有异常,很是奇怪!", user);

                String msg = "登录失败";
                WebHelper.Alert(msg);
            }
        }
        catch (ThreadAbortException) { }
        catch (Exception ex)
        {
            String msg = "登录失败";
            if (ex is EntityException)
                msg += "," + ex.Message;
            else
                XTrace.WriteException(ex);
            WebHelper.Alert(msg);
        }
    }
}