/// <summary>
        /// 向数据表DawnAuthUserLogin中插入一条新记录
        /// </summary>
        /// <param name="dawnAuthUserLogin">DawnAuthUserLogin实体对象</param>
        /// <returns></returns>
        public int Insert(DawnAuthUserLoginMDL dawnAuthUserLogin)
        {
            string sqlCommand = "DawnAuthUserLoginInsert";
            int    res;

            SqlParameter[] param =
            {
                new SqlParameter("@LogId",         SqlDbType.Int),
                new SqlParameter("@UserId",        SqlDbType.Int),
                new SqlParameter("@LogTime",       SqlDbType.DateTime),
                new SqlParameter("@LogIp",         SqlDbType.VarChar,   200),
                new SqlParameter("@LogMac",        SqlDbType.VarChar,   100),
                new SqlParameter("@LogComputer",   SqlDbType.VarChar,   100),
                new SqlParameter("@LogAttach",     SqlDbType.NVarChar,   -1),
                new SqlParameter("@LogCount",      SqlDbType.Int),
                new SqlParameter("@LogFieldOne",   SqlDbType.Int),
                new SqlParameter("@LogFieldTwo",   SqlDbType.TinyInt),
                new SqlParameter("@LogFieldThree", SqlDbType.VarChar, -1)
            };
            param[0].Direction = ParameterDirection.Output;
            param[1].Value     = dawnAuthUserLogin.UserId;
            param[2].Value     = dawnAuthUserLogin.LogTime;
            param[3].Value     = dawnAuthUserLogin.LogIp;
            param[4].Value     = dawnAuthUserLogin.LogMac;
            param[5].Value     = dawnAuthUserLogin.LogComputer;
            param[6].Value     = dawnAuthUserLogin.LogAttach;
            param[7].Value     = dawnAuthUserLogin.LogCount;
            param[8].Value     = dawnAuthUserLogin.LogFieldOne;
            param[9].Value     = dawnAuthUserLogin.LogFieldTwo;
            param[10].Value    = dawnAuthUserLogin.LogFieldThree;
            res = SqlHelper.ExecuteNonQuery(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param);
            dawnAuthUserLogin.LogId = ((param[0].Value) == DBNull.Value) ? 0 : Convert.ToInt32(param[0].Value);
            return(res);
        }
 /// <summary>
 /// 向数据表DawnAuthUserLogin修改一条记录
 /// </summary>
 /// <param name="dawnAuthUserLogin">DawnAuthUserLogin实体对象</param>
 /// <returns></returns>
 public static int Update(DawnAuthUserLoginMDL dawnAuthUserLogin)
 {
     if (dawnAuthUserLogin == null)
     {
         return(0);
     }
     return(DawnAuthUserLoginBLL._dal.Update(dawnAuthUserLogin));
 }
 /// <summary>
 /// 向数据表DawnAuthUserLogin中插入一条新记录。带事务
 /// </summary>
 /// <param name="sp">事务对象</param>
 /// <param name="dawnAuthUserLogin">DawnAuthUserLogin实体对象</param>
 /// <returns>ı</returns>
 public static int Insert(SqlTransaction sp, DawnAuthUserLoginMDL dawnAuthUserLogin)
 {
     if (dawnAuthUserLogin == null)
     {
         return(0);
     }
     return(DawnAuthUserLoginBLL._dal.Insert(sp, dawnAuthUserLogin));
 }
 /// <summary>
 /// 向数据表DawnAuthUserLogin中插入一条新记录
 /// </summary>
 /// <param name="dawnAuthUserLogin">DawnAuthUserLogin实体对象</param>
 /// <returns></returns>
 public static int Insert(DawnAuthUserLoginMDL dawnAuthUserLogin)
 {
     if (dawnAuthUserLogin == null)
     {
         return(0);
     }
     return(DawnAuthUserLoginBLL._dal.Insert(dawnAuthUserLogin));
 }
        /// <summary>
        /// 根据ID,返回一个DawnAuthUserLogin实体对象
        /// </summary>
        /// <param name="logId">系统编号</param>
        /// <returns>DawnAuthUserLogin实体对象</returns>
        public DawnAuthUserLoginMDL Select(int logId)
        {
            DawnAuthUserLoginMDL obj = null;

            SqlParameter[] param =
            {
                new SqlParameter("@LogId", SqlDbType.Int)
            };
            param[0].Value = logId;
            string sqlCommand = "DawnAuthUserLoginSelect";

            using (SqlDataReader dr = SqlHelper.ExecuteReader(Conn.SqlConn, CommandType.StoredProcedure, sqlCommand, param))
            {
                while (dr.Read())
                {
                    obj = this.Select(dr);
                }
            }
            return(obj);
        }
 /// <summary>
 /// 删除数据表DawnAuthUserLogin中的一条记录,带事务
 /// </summary>
 /// <param name="sp">事务对象</param>
 /// <param name="dawnAuthUserLogin">DawnAuthUserLogin实体对象</param>
 /// <returns></returns>
 public int Delete(SqlTransaction sp, DawnAuthUserLoginMDL dawnAuthUserLogin)
 {
     return(DawnAuthUserLoginBLL._dal.Delete(sp, dawnAuthUserLogin));
 }
 /// <summary>
 /// 删除数据表DawnAuthUserLogin中的一条记录
 /// </summary>
 /// <param name="dawnAuthUserLogin">DawnAuthUserLogin实体对象</param>
 /// <returns></returns>
 public static int Delete(DawnAuthUserLoginMDL dawnAuthUserLogin)
 {
     return(DawnAuthUserLoginBLL._dal.Delete(dawnAuthUserLogin));
 }
Beispiel #8
0
        /// <summary>
        /// 用户登录验证
        /// <para>返回的哈希表包含键值:</para>
        /// <para>Msg 消息正文,值为[refresh]时需要刷新整个页面</para>
        /// <para>Url 跳转的URL链接</para>
        /// <para>IsCode 刷新验证码</para>
        /// </summary>
        /// <param name="userName">帐号名称</param>
        /// <param name="userPwd">帐号密码</param>
        /// <param name="checkCode">验证码</param>
        /// <param name="returnUrl">登录跳转页面</param>
        /// <param name="outEx">异常信息对象</param>
        /// <returns>验证结果</returns>
        public static Hashtable VerifyLogin(string userName, string userPwd, string checkCode, string returnUrl, out Exception outEx)
        {
            outEx = null;
            Hashtable ht = new Hashtable();

            ht.Add("Msg", GeneralHandler.FBaseInfo);
            ht.Add("Url", GeneralHandler.SiteLoginUrl);
            ht.Add("IsCode", false);
            try
            {
                if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(userPwd) || string.IsNullOrEmpty(checkCode))
                {
                    return(ht);
                }
                userPwd   = CryptoHelper.MD5(userPwd, true);
                checkCode = checkCode.ToLower();
                string verifyCode = HttpContext.Current.Session["CheckCode"] as string;
                verifyCode = verifyCode.ToLower();
                if (checkCode.Length != 4 || !ValidHelper.EngIsEngAndNum(checkCode) || checkCode != verifyCode)
                {
                    ht["Msg"]    = "您输入的验证码不正确[4个字符]。";
                    ht["IsCode"] = true;
                }
                else if (userName.Length < 4 || userName.Length > 16 || !ValidHelper.EngIsRegisters(userName))
                {
                    ht["Msg"] = "您输入的用户名不正确[4-16个字符]。";
                }
                else if (ValidHelper.IsSqlFilter(userName))
                {
                    ht["Msg"] = "您输入的用户名不正确[4-16个字符]。IsSqlFilter";
                }
                else if (!DawnAuthUserBLL.ExistsOfName(userName))
                {
                    ht["Msg"] = "您输入的用户名不存在!";
                }
                else
                {
                    var userIList = DawnAuthUserBLL.ISelect(string.Format("[user_name]='{0}' and [user_pwd]='{1}'", userName, userPwd));
                    if (userIList.Count == 0)
                    {
                        ht["Msg"] = "您输入的用户名与密码不匹配!";
                    }
                    else if (userIList.Count > 1)
                    {
                        ht["Msg"] = "您的账号存在异常,请联系管理员!";
                    }
                    else
                    {
                        var userInfo = userIList.First();
                        if (userInfo.UserStatus == 0)
                        {
                            ht["Msg"] = "您的账号存已禁用,请联系管理员!";
                        }
                        else if (userInfo.UserGrade < 1)
                        {
                            ht["Msg"] = "对不起,您的管理级别不符合!";
                        }
                        else
                        {
                            userIList.Clear();
                            HttpContext.Current.Session["LoginName"] = userName;
                            HttpContext.Current.Session[userName]    = CryptoHelper.Encrypt(JsonConvert.SerializeObject(userInfo), GeneralHandler.TokenKey);
                            var userAuth = DawnAuthUserBLL.GetUserAuthority(userInfo.UserId);
                            HttpContext.Current.Session["LoginAuthority"] = CryptoHelper.Encrypt(JsonConvert.SerializeObject(userAuth), GeneralHandler.TokenKey);
                            var userStat = DawnAuthUserBLL.GetUserStatus(userInfo.UserId);
                            HttpContext.Current.Session["LoginStatus"] = CryptoHelper.Encrypt(JsonConvert.SerializeObject(userStat), GeneralHandler.TokenKey);
                            var userExtent = DawnAuthUserExtentBLL.ISelect(string.Format("user_id='{0}'", userInfo.UserId));
                            HttpContext.Current.Session["LoginExtent"] = CryptoHelper.Encrypt(JsonConvert.SerializeObject(userExtent), GeneralHandler.TokenKey);
                            FormsAuthentication.SetAuthCookie(CryptoHelper.Encrypt(userName, GeneralHandler.TokenKey), false);

                            #region 登录日志

                            DawnAuthUserLoginMDL dataInfo = new DawnAuthUserLoginMDL();
                            dataInfo.UserId      = userInfo.UserId;
                            dataInfo.LogTime     = DateTime.Now;
                            dataInfo.LogIp       = RequestHelper.GetIPAddress();
                            dataInfo.LogMac      = DawnXZ.PHYUtility.ManagementHelper.Instance().MacAddress.ToUpper();
                            dataInfo.LogComputer = "Unknown";
                            dataInfo.LogAttach   = null;
                            dataInfo.LogCount    = 1;
                            DawnAuthUserLoginBLL.Insert(dataInfo);

                            #endregion

                            ht["Msg"] = GeneralHandler.StateSuccess;
                            ht["Url"] = string.IsNullOrEmpty(returnUrl) ? GeneralHandler.SiteLoginedUrl : returnUrl;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                outEx     = ex;
                ht["Msg"] = GeneralHandler.StateRefresh;
            }
            return(ht);
        }
Beispiel #9
0
        public JsonResult Logined(FormCollection form)
        {
            Hashtable ht = new Hashtable();

            ht.Add("Msg", GeneralHandler.FBaseInfo);
            ht.Add("Url", GeneralHandler.SiteLoginUrl);
            ht.Add("IsCode", false);
            try
            {
                string txtUname = form["txtUname"] as string;
                string txtUpwd  = form["txtUpwd"] as string;
                txtUpwd = CryptoHelper.MD5(txtUpwd, true);
                string txtCheckCode = form["txtCheckCode"] as string;
                txtCheckCode = txtCheckCode.ToLower();
                string strCheckCode = Session["CheckCode"] as string;
                strCheckCode = strCheckCode.ToLower();
                if (txtCheckCode.Length != 4 || !ValidHelper.EngIsEngAndNum(txtCheckCode) || txtCheckCode != strCheckCode)
                {
                    ht["Msg"]    = "您输入的验证码不正确[4个字符]。";
                    ht["IsCode"] = true;
                }
                else if (txtUname.Length < 4 || txtUname.Length > 16 || !ValidHelper.EngIsRegisters(txtUname))
                {
                    ht["Msg"] = "您输入的用户名不正确[4-16个字符]。";
                }
                else if (ValidHelper.IsSqlFilter(txtUname))
                {
                    ht["Msg"] = "您输入的用户名不正确[4-16个字符]。IsSqlFilter";
                }
                else if (!DawnAuthUserBLL.ExistsOfName(txtUname))
                {
                    ht["Msg"] = "您输入的用户名不存在!";
                }
                else
                {
                    var userIList = DawnAuthUserBLL.ISelect(string.Format("[user_name]='{0}' and [user_pwd]='{1}'", txtUname, txtUpwd));
                    if (userIList.Count == 0)
                    {
                        ht["Msg"] = "您输入的用户名与密码不匹配!";
                    }
                    else if (userIList.Count > 1)
                    {
                        ht["Msg"] = "您的账号存在异常,请联系管理员!";
                    }
                    else
                    {
                        var userInfo = userIList.First();
                        if (userInfo.UserStatus == 0)
                        {
                            ht["Msg"] = "您的账号存已禁用,请联系管理员!";
                        }
                        else if (userInfo.UserGrade < 2)
                        {
                            ht["Msg"] = "对不起,您的管理级别不符合!";
                        }
                        else
                        {
                            userIList.Clear();
                            Session["LoginName"] = txtUname;
                            Session[txtUname]    = CryptoHelper.Encrypt(JsonConvert.SerializeObject(userInfo), GeneralHandler.TokenKey);
                            var userAuth = DawnAuthUserBLL.GetUserAuthority(userInfo.UserId);
                            Session["LoginAuthority"] = CryptoHelper.Encrypt(JsonConvert.SerializeObject(userAuth), GeneralHandler.TokenKey);
                            var userStat = DawnAuthUserBLL.GetUserStatus(userInfo.UserId);
                            Session["LoginStatus"] = CryptoHelper.Encrypt(JsonConvert.SerializeObject(userStat), GeneralHandler.TokenKey);
                            var userExtent = DawnAuthUserExtentBLL.ISelect(string.Format("user_id='{0}'", userInfo.UserId));
                            Session["LoginExtent"] = CryptoHelper.Encrypt(JsonConvert.SerializeObject(userExtent), GeneralHandler.TokenKey);
                            FormsAuthentication.SetAuthCookie(CryptoHelper.Encrypt(txtUname, GeneralHandler.TokenKey), false);

                            #region 登录日志

                            DawnAuthUserLoginMDL dataInfo = new DawnAuthUserLoginMDL();
                            dataInfo.UserId      = userInfo.UserId;
                            dataInfo.LogTime     = DateTime.Now;
                            dataInfo.LogIp       = RequestHelper.GetIPAddress();
                            dataInfo.LogMac      = "Unknown";
                            dataInfo.LogComputer = "Unknown";
                            dataInfo.LogAttach   = null;
                            dataInfo.LogCount    = 1;
                            DawnAuthUserLoginBLL.Insert(dataInfo);

                            #endregion

                            ht["Msg"] = GeneralHandler.StateSuccess;
                            ht["Url"] = GeneralHandler.SiteLoginedUrl;
                            //var hidReturnUrl = form["hidReturnUrl"] as string;
                            //ht["Url"] = string.IsNullOrEmpty(hidReturnUrl) ? GeneralHandler.SiteLoginedUrl : hidReturnUrl;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                //ht["Msg"] = GeneralHandler.StateRefresh;
                ht["Msg"] = "对不起!无法与数据库建立连接!请联系管理员!";
                GeneralHandler.InsertByError(ex);
            }
            return(Json(ht));
        }
        /// <summary>
        /// 得到DawnAuthUserLogin实体对象
        /// </summary>
        /// <param name="row">row</param>
        /// <returns>DawnAuthUserLogin实体对象</returns>
        public DawnAuthUserLoginMDL Select(DataRow row)
        {
            DawnAuthUserLoginMDL obj = new DawnAuthUserLoginMDL();

            if (row != null)
            {
                try
                {
                    obj.LogId = ((row["log_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(row["log_id"]);
                }
                catch { }
                try
                {
                    obj.UserId = ((row["user_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(row["user_id"]);
                }
                catch { }
                try
                {
                    obj.LogTime = ((row["log_time"]) == DBNull.Value) ? DateTime.MinValue : Convert.ToDateTime(row["log_time"]);
                }
                catch { }
                try
                {
                    obj.LogIp = row["log_ip"].ToString();
                }
                catch { }
                try
                {
                    obj.LogMac = row["log_mac"].ToString();
                }
                catch { }
                try
                {
                    obj.LogComputer = row["log_computer"].ToString();
                }
                catch { }
                try
                {
                    obj.LogAttach = row["log_attach"].ToString();
                }
                catch { }
                try
                {
                    obj.LogCount = ((row["log_count"]) == DBNull.Value) ? 0 : Convert.ToInt32(row["log_count"]);
                }
                catch { }
                try
                {
                    obj.LogFieldOne = ((row["log_field_one"]) == DBNull.Value) ? 0 : Convert.ToInt32(row["log_field_one"]);
                }
                catch { }
                try
                {
                    obj.LogFieldTwo = ((row["log_field_two"]) == DBNull.Value) ? Convert.ToByte(0) : Convert.ToByte(row["log_field_two"]);
                }
                catch { }
                try
                {
                    obj.LogFieldThree = row["log_field_three"].ToString();
                }
                catch { }
            }
            else
            {
                return(null);
            }
            return(obj);
        }
        /// <summary>
        /// 得到DawnAuthUserLogin实体对象
        /// </summary>
        /// <param name="dr">dr</param>
        /// <returns>DawnAuthUserLogins实体对象</returns>
        public DawnAuthUserLoginMDL Select(IDataReader dr)
        {
            DawnAuthUserLoginMDL obj = new DawnAuthUserLoginMDL();

            try
            {
                obj.LogId = ((dr["log_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(dr["log_id"]);
            }
            catch { }
            try
            {
                obj.UserId = ((dr["user_id"]) == DBNull.Value) ? 0 : Convert.ToInt32(dr["user_id"]);
            }
            catch { }
            try
            {
                obj.LogTime = ((dr["log_time"]) == DBNull.Value) ? DateTime.MinValue : Convert.ToDateTime(dr["log_time"]);
            }
            catch { }
            try
            {
                obj.LogIp = dr["log_ip"].ToString();
            }
            catch { }
            try
            {
                obj.LogMac = dr["log_mac"].ToString();
            }
            catch { }
            try
            {
                obj.LogComputer = dr["log_computer"].ToString();
            }
            catch { }
            try
            {
                obj.LogAttach = dr["log_attach"].ToString();
            }
            catch { }
            try
            {
                obj.LogCount = ((dr["log_count"]) == DBNull.Value) ? 0 : Convert.ToInt32(dr["log_count"]);
            }
            catch { }
            try
            {
                obj.LogFieldOne = ((dr["log_field_one"]) == DBNull.Value) ? 0 : Convert.ToInt32(dr["log_field_one"]);
            }
            catch { }
            try
            {
                obj.LogFieldTwo = ((dr["log_field_two"]) == DBNull.Value) ? Convert.ToByte(0) : Convert.ToByte(dr["log_field_two"]);
            }
            catch { }
            try
            {
                obj.LogFieldThree = dr["log_field_three"].ToString();
            }
            catch { }
            return(obj);
        }