Пример #1
0
        public override bool VerifySignature(ActionParameter para)
        {
            Merchant.OAuthApp app = Merchant.OAuthApp.GetOAuthApp(para.MerchantNo);
            if (app == null)
            {
                return(false);
            }
            if (!app.IsValid())
            {
                return(false);
            }
            string secretKey = app.Secret_Key;
            //签名数据
            string signValue = para.Data + secretKey;
            //签名结果
            string signResult = MD5Provider.Encode(signValue);

            //验证签名
            if (!signResult.Equals(para.Sign, StringComparison.CurrentCultureIgnoreCase))
            {
                Log.Info("签名错误:");
                Log.Info("签名数据:" + signValue);
                Log.Info("签名结果:" + signResult);
                return(false);
            }
            return(true);
        }
Пример #2
0
 //先核对用户信息才允许改变
 public bool FindPassWord(UserData data, string passw, out string msg)
 {
     msg = "";
     if ("".Equals(data.Idcard))
     {
         msg = "未输入身份证号码!";
     }
     else if ("".Equals(data.Username))
     {
         msg = "未输入用户名!";
     }
     try
     {
         if (data.Idcard.Equals(iUserData.findIdCardByName(data.Username)))
         {
             User user = new User();
             user.UserName = data.Username;
             user.Password = MD5Provider.Hash(passw);
             if (iUser.Update(user))
             {
                 msg = "更新成功!!";
                 return(true);
             }
         }
         else
         {
             msg = "用户名与身份证不匹配!";
         }
     }
     catch (Exception exp)
     {
         msg = exp.Message;
     }
     return(false);
 }
Пример #3
0
        private void DoLogin(string userName, string password)
        {
            //
            btnOk.Enabled = false;

            lblMsg.Text         = "登录中";
            _tickTimer          = new System.Timers.Timer(1 * 200);
            _tickTimer.Elapsed += new System.Timers.ElapsedEventHandler(delegate(object source, System.Timers.ElapsedEventArgs ee)
            {
                BeginInvoke(new Action(() =>
                {
                    if (lblMsg.Text.IndexOf(".") == -1)
                    {
                        lblMsg.Text += ".";
                    }
                    else if (lblMsg.Text.IndexOf(".") + 5 == lblMsg.Text.Length)
                    {
                        lblMsg.Text = lblMsg.Text.Substring(0, lblMsg.Text.Length - 5);
                    }
                    else
                    {
                        lblMsg.Text += ".";
                    }
                }));
            });                          //到达时间的时候执行事件;
            _tickTimer.AutoReset = true; //设置是执行一次(false)还是一直执行(true);
            _tickTimer.Enabled   = true; //是否执行System.Timers.Timer.Elapsed事件;


            HttpAdapter.postAsyncAsJSON(authEndPoint + "/AuthenticateMerchant", new AuthMerchantParam {
                StationCode = userName, PasswordHash = MD5Provider.Generate(password)
            }.ToStringObjectDictionary(), new { ApplicationId = Common.APPLICATION_ID }.ToStringObjectDictionary(), (ret, res) =>
            {
                //MessageBoxAdapter.ShowDebug(_MonitorId.ToString());
                //dynamic ret = new { Error = "", Success = false };
                //ret = JsonConvert.DeserializeObject(result);
                MerchantVar.Load(userName, ret.ret);

                if ((bool)ret.Success)
                {
                    INIAdapter.WriteValue(Common.INI_SECTION_LOCAL, Common.INI_KEY_USER_NAME_SINCE_LAST, userName, Common.INI_FILE_PATH);
                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
                else
                {
                    lblMsg.Text = ret.ErrorMessage;

                    this.UIInvoke(() =>
                    {
                        btnOk.Enabled = true;
                    });
                }
                _tickTimer.Enabled = false;
                _tickTimer         = null;
            });
        }
Пример #4
0
    protected void OKButton_Click(object sender, EventArgs e)
    {
        string userName      = AdminNameTextBox.Text.Trim();
        string userPassword  = PasswordTextBox.Text.Trim();
        string rightPassword = "";

        if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(userPassword))
        {
            return;
        }

        string          strConnection = ConfigurationManager.ConnectionStrings["AccessConnectionString"].ConnectionString;
        OleDbConnection connection    = new OleDbConnection(strConnection);

        using (connection)
        {
            connection.Open();
            string       strSQL  = "SELECT YHPassword FROM YHTable WHERE YHName = @YHName";
            OleDbCommand command = new OleDbCommand(strSQL, connection);
            command.Parameters.AddWithValue("@YHName", userName);
            OleDbDataAdapter adapter = new OleDbDataAdapter(command);
            DataTable        dt      = new DataTable();
            adapter.Fill(dt);
            if (dt.Rows.Count == 1)
            {
                rightPassword = dt.Rows[0]["YHPassword"].ToString();

                if (rightPassword == MD5Provider.Hash(userPassword))
                {
                    strSQL = "SELECT lastlogintime FROM YHTable WHERE YHName=@YHName";
                    command.Parameters.Clear();
                    command.CommandText = strSQL;
                    command.Parameters.AddWithValue("@YHName", userName);
                    //OleDbDataAdapter adapter = new OleDbDataAdapter(command);
                    adapter.SelectCommand = command;
                    dt.Clear();
                    adapter.Fill(dt);
                    string strLastLoginTime = dt.Rows[0]["lastlogintime"].ToString();

                    strSQL = "UPDATE YHTable SET lastlogintime = @lastlogintime WHERE YHName=@YHName";
                    command.Parameters.Clear();
                    command.CommandText = strSQL;
                    command.Parameters.AddWithValue("@lastlogintime", DateTime.Now.ToString());
                    command.Parameters.AddWithValue("@YHName", userName);
                    command.ExecuteNonQuery();

                    Session["AdminName"]     = userName;
                    Session["LastLoginTime"] = strLastLoginTime;

                    Response.Redirect("AdminPages/AdminDefault.aspx", false);
                    return;
                }
            }
        }
        JScript.Alert("登陆出错!", this.Page);
    }
Пример #5
0
    protected void ModifyMyPassword_Click(object sender, EventArgs e)
    {
        if (OldPsd_TextBox.Text == "" || NewPsd_TextBox.Text == "")
        {
            JScript.Alert("输入不完整,请检查后再提交。", this);
            return;
        }
        if (NewPsd_TextBox.Text != NewPsdRe_TextBox.Text)
        {
            JScript.Alert("两次密码输入不同,请重新输入。", this);
            return;
        }
        if (NewPsd_TextBox.Text.Length < 6)
        {
            JScript.Alert("密码至少应为6个字符。", this);
            return;
        }
        string          md5Password   = MD5Provider.Hash(OldPsd_TextBox.Text);
        string          strConnection = ConfigurationManager.ConnectionStrings["AccessConnectionString"].ConnectionString;
        OleDbConnection objConnection = new OleDbConnection(strConnection);

        objConnection.Open();
        using (objConnection)
        {
            string       strSQL  = "SELECT Top 1 * FROM YHTable WHERE YHName = @userName";
            OleDbCommand command = new OleDbCommand(strSQL, objConnection);
            command.Parameters.Add("@userName", OleDbType.VarChar).Value = Session["userName"].ToString();
            OleDbDataAdapter adapter = new OleDbDataAdapter(command);
            DataTable        dt      = new DataTable();
            adapter.Fill(dt);
            if (dt.Rows.Count == 1)
            {
                if (dt.Rows[0]["YHPassword"].ToString() == md5Password)
                {
                    strSQL  = "UPDATE YHTable SET YHPassword=@psw WHERE 编号=" + dt.Rows[0]["编号"].ToString();
                    command = new OleDbCommand(strSQL, objConnection);
                    command.Parameters.Add("@psw", OleDbType.VarChar).Value = MD5Provider.Hash(NewPsd_TextBox.Text);
                    command.ExecuteNonQuery();
                    MyBasePage.writeLog(Session["userName"].ToString(), "修改密码成功");
                    JScript.Alert("密码修改成功", this);
                }
                else
                {
                    MyBasePage.writeLog(Session["userName"].ToString(), "修改密码错误:旧密码输入错误");
                    JScript.Alert("密码修改失败:旧密码输入错误", this);
                }
            }
            else
            {
                MyBasePage.writeLog(Session["userName"].ToString(), "修改密码错误:无法在数据库中检索到用户原始信息");
                MyBasePage.logout(this);
                JScript.AlertAndRedirect("系统出现错误,请重新登录后再试", "../Deafult.aspx", this);
            }
        }
    }
Пример #6
0
        public void MD5NormalTest()
        {
            IAsymmetricCrypto md5 = new MD5Provider();

            string t = "Yes";
            string s = md5.ComputeHash("Yes");

            Assert.IsTrue(s != t);

            md5.Dispose();
        }
Пример #7
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
     }
     if (Request.QueryString["wantmd5"] != null)
     {
         wantmd5.Visible = true;
         wantmd5.Text    = "MD5:" + MD5Provider.Hash(Request.QueryString["wantmd5"].ToString());
     }
 }
Пример #8
0
        public UserEntity CheckUserInfo(string userName, string pwd)
        {
            try
            {
                if (DBConnection())
                {
                    string userSql = "select * from users where user_name=@user_name and password=@pwd and is_validation=1";
                    adapter = new SqlDataAdapter(userSql, conn);
                    adapter.SelectCommand.Parameters.Add(new SqlParameter("@user_name", SqlDbType.VarChar)
                    {
                        Value = userName
                    });
                    adapter.SelectCommand.Parameters.Add(new SqlParameter("@pwd", SqlDbType.VarChar)
                    {
                        Value = MD5Provider.GetMD5String(pwd + "@" + userName)
                    });

                    DataTable table = new DataTable();
                    int       count = adapter.Fill(table);

                    if (count <= 0)
                    {
                        throw new Exception("用户名或密码不正确!");
                    }

                    DataRow dr = table.Rows[0];
                    if (dr.Field <Int32>("is_can_login") == 0)
                    {
                        throw new Exception("当前用户没有权限使用此平台!" +
                                            "");
                    }

                    UserEntity userInfo = new UserEntity();
                    userInfo.UserName = dr.Field <string>("user_name");
                    userInfo.RealName = dr.Field <string>("real_name");
                    userInfo.Password = dr.Field <string>("password");
                    userInfo.Avatar   = dr.Field <string>("avatar");
                    userInfo.Gender   = dr.Field <Int32>("gender");
                    return(userInfo);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                this.Dispose();
            }

            return(null);
        }
Пример #9
0
        public static void LogonUser(string userCode, string password, LogonSuccessDelegate <User> onSuccess, LogonFailureDelegate onFailure, string connectstring_Or_Dbname)
        {
            IList <User> users = BuilderFactory.DefaultBulder(connectstring_Or_Dbname).List <User>(new User {
                UserCode = TypeConverter.ChangeString(userCode)
            });

            if (users.Count > 0)
            {
                string passHash = password ?? "";
                if (passHash.Length != 32)
                {
                    passHash = MD5Provider.Generate(password);
                }

                var query = users.Where(item => TypeConverter.ChangeString(item.PasswordHash) == passHash);
                if (query.Count() > 0)
                {
                    User user = query.First();

                    if (user.StopFlag == 1)
                    {
                        if (onFailure != null)
                        {
                            onFailure(new LogonFailureEventArgs("此帐号已停用,请联系管理员"));
                        }
                    }
                    else
                    {
                        if (onSuccess != null)
                        {
                            onSuccess(new LogonSuccessEventArgs <User>(user, HttpContext.Current.Request.UserHostAddress));
                        }
                    }
                }
                else
                {
                    if (onFailure != null)
                    {
                        onFailure(new LogonFailureEventArgs("您输入的密码有误,请重新输入"));
                    }
                }
            }
            else
            {
                if (onFailure != null)
                {
                    onFailure(new LogonFailureEventArgs(string.Format("此帐号【{0}】不存在", userCode)));
                }
            }
        }
Пример #10
0
        public bool Load(string FileName, string Password)
        {
            TaskBase tmpBase = SerializationProvider.LoadObjectFromFile(FileName) as TaskBase;

            if (tmpBase == null || MD5Provider.GetHash(Password) != tmpBase.passHash)
            {
                return(false);
            }
            this.FileName = FileName;
            passHash      = tmpBase.passHash;
            MetaData      = tmpBase.MetaData;
            Tasks         = tmpBase.Tasks;
            return(true);
        }
Пример #11
0
        public JsonResult CheckLogin(sys_user model)
        {
            bool Result   = false;
            var  UserInfo = userbll.GetUserInfo(model.Account, MD5Provider.getStringMd5Hash(model.PassWord));

            if (UserInfo != null)
            {
                Result = true;
                #region 保存登陆信息
                var    filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "appsettings.json");
                string result   = string.Empty;
                using (var streamReader = System.IO.File.OpenText(filePath))
                {
                    result = streamReader.ReadToEnd();
                }
                JObject jobject = (JObject)JsonConvert.DeserializeObject(result.Replace("\r\n", ""));
                appsettings = JsonConvert.DeserializeObject <AppSettings>(jobject["AppSettings"].ToString());

                if (Convert.ToBoolean(appsettings.Redis.IsEnable))
                {
                    //redis方式
                    RedisHelper rh = new RedisHelper(appsettings);
                    UserExtend  ue = new UserExtend
                    {
                        KeyId       = UserInfo.KeyId,
                        Account     = UserInfo.Account,
                        FullName    = UserInfo.FullName,
                        HeadImg     = UserInfo.HeadImg,
                        WebLastTime = DateTime.Now
                    };
                    rh.Set(UserInfo.KeyId, JsonConvert.SerializeObject(ue));
                }
                else
                {
                    //session方式
                    HttpContext.Session.SetString(ConstConfig.AdminSession, JsonConvert.SerializeObject(UserInfo));
                }

                /****用cookie保存登录id,即使session丢失也不必重新登录****/
                HttpContext.Response.Cookies.Append(ConstConfig.AdminCookie, UserInfo.KeyId, new CookieOptions
                {
                    Expires = DateTime.Now.AddHours(5)
                });
                //全局配置的静态类成员再赋值,保证配置文件被更改后立即登陆就不用重启才生效(折中办法)
                WebJsonConfig.JsonInfo = JsonConvert.SerializeObject(appsettings);
                #endregion
            }
            return(Json(new { Result = Result }));
        }
Пример #12
0
        public JsonResult Create(sys_user model)
        {
            ExecuteResult Er = new ExecuteResult();

            if (string.IsNullOrEmpty(model.KeyId))
            {
                //验证是否有重复账号
                int count = userbll.GetList <sys_user>(item => item.Account == model.Account && item.IsDeleted == false).Count();
                if (count > 0)
                {
                    Er.Result  = false;
                    Er.Message = "已存在相同账号";
                }
                else
                {
                    #region 新增
                    model.KeyId      = Guid.NewGuid().ToString();
                    model.CreateDate = DateTime.Now;
                    model.IsDeleted  = false;
                    model.PassWord   = MD5Provider.getStringMd5Hash(model.PassWord);
                    Er.Result        = userbll.Insert <sys_user>(model) > 0;
                    Er.Message       = "新增成功";
                    #endregion
                }
            }
            else
            {
                //验证是否有重复账号
                int count = userbll.GetList <sys_user>(item => item.Account == model.Account && item.KeyId != model.KeyId && item.IsDeleted == false).Count();
                if (count > 0)
                {
                    Er.Result  = false;
                    Er.Message = "已存在相同账号";
                }
                else
                {
                    #region 修改
                    var old = userbll.GetModelById <sys_user>(model.KeyId);
                    model.CreateDate = old.CreateDate;
                    model.IsDeleted  = old.IsDeleted;
                    model.PassWord   = old.PassWord;
                    Er.Result        = userbll.Update <sys_user>(model) > 0;
                    Er.Message       = "更新成功";
                    #endregion
                }
            }
            return(Json(Er));
        }
Пример #13
0
        public async Task <KeyValuePair <IdentityResult, AspNetUsers> > CreateUserAsync(RegisterDTO model)
        {
            AspNetUsers aspNetUsers = new AspNetUsers
            {
                EmailConfirmed       = false,
                PhoneNumberConfirmed = false,
                AccessFailedCount    = 0,
                TwoFactorEnabled     = false,
                Email       = model.Email.Trim(),
                UserName    = model.Email.Trim(),
                PhoneNumber = "180" + MD5Provider.Hash(model.Email.Trim()).ToString().Substring(0, 8)
            };
            var result = await _userManager.CreateAsync(aspNetUsers, model.Password);

            return(new KeyValuePair <IdentityResult, AspNetUsers>(result, aspNetUsers));
        }
Пример #14
0
        public JsonResult UpdatePwd(string OldPwd, string NewPwd)
        {
            ExecuteResult Er    = new ExecuteResult();
            var           model = userbll.GetModelById <sys_user>(base.SysUser.KeyId);

            if (model != null && model.PassWord == MD5Provider.getStringMd5Hash(OldPwd))
            {
                model.PassWord = MD5Provider.getStringMd5Hash(NewPwd);
                Er.Result      = userbll.Update <sys_user>(model) > 0;
                Er.Message     = Er.Result ? "密码更新成功" : "密码更新失败";
            }
            else
            {
                Er.Result  = false;
                Er.Message = "您输入的旧密码与系统原密码不匹配";
            }
            return(Json(Er));
        }
Пример #15
0
        public bool sendMessage(messageModel msgModel)
        {
            Dictionary <string, string> dict = new Dictionary <string, string>();

            dict.Add("Title", msgModel.Title);
            dict.Add("Content", msgModel.msg);
            SendMessageModel model = new SendMessageModel();

            model.TemplateNo = msgModel.TemplateNo;
            model.Receiver   = msgModel.Receiver;
            model.Parameter  = dict;
            model.SendTime   = DateTime.Now;
            //组装JOSN 数据
            List <SendMessageModel> list = new List <SendMessageModel>();

            list.Add(model);
            //组装JOSN数据
            var jsonModel = new
            {
                Title        = msgModel.Title,
                Body         = list,
                MerchaanNo   = AppConfig.MessageMerchantNo,
                ClientSource = "PC",
                ClientSystem = "DM-web",
                Version      = 1,
                TimeStamp    = DateTime.Now
            };
            string json    = JsonProvider.ToJson(jsonModel);
            string sign    = MD5Provider.Encode(json + AppConfig.MessageKey);
            var    request = new Winner.Framework.Utils.Network.HttpRequestProvider();

            request.SetUrl(AppConfig.MessageUrl)//请求接口地址
            .AddParameter("Json", json)
            .AddParameter("Sign", sign);

            var jsonResult = request.POST();

            if (!jsonResult.Success)
            {
                return(false);
            }
            return(true);
        }
Пример #16
0
        public bool Login(string userName, string userPassword, out string msg)
        {
            msg = "";
            if (userName == "" || userPassword == "")
            {
                msg = "用户名或密码不能为空!";
                return(false);
            }
            bool ok = false;

            try
            {
                ok = iUser.Login(userName, MD5Provider.Hash(userPassword));
            }
            catch (Exception exp)
            {
                msg = exp.Message;
            }
            return(ok);
        }
Пример #17
0
        public override bool VerifySignature(ActionParameter para)
        {
            AppInfo app = AppInfo.Get(para.MerchantNo);

            if (app == null)
            {
                return(false);
            }
            string secret     = app.Secret_Key;
            string encodeData = string.Concat(para.Data, secret);
            string hash       = MD5Provider.Encode(encodeData);

            if (!hash.Equals(para.Sign, StringComparison.OrdinalIgnoreCase))
            {
                Log.Debug("签名数据:{0}", encodeData);
                Log.Debug("本地哈希:{0}", hash);
                Log.Debug("远程哈希:{0}", para.Sign);
                return(false);
            }
            return(true);
        }
Пример #18
0
        public bool Register(User user, UserData data, out string msg)
        {
            msg = "";
            bool isok = false;

            if (!CheckUser(user, out msg))
            {
                return(isok);
            }

            using (TransactionScope tsCope = new TransactionScope())
            {
                try
                {
                    user.Password = MD5Provider.Hash(user.Password);
                    int id = iUser.AddUserAndRetId(user);
                    msg = Convert.ToString(id);
                    if (id != -1)
                    {
                        data.Uid = id;
                        if (iUserData.addUserData(data))
                        {
                            isok = true;
                        }
                    }
                }
                catch (Exception exp)
                {
                    msg = exp.Message;
                    return(false);
                }

                tsCope.Complete();
            }
            return(isok);
        }
Пример #19
0
 public bool CheckPassword(string password)
 {
     return(MD5Provider.GetHash(password) == passHash);
 }
Пример #20
0
    protected void DoInsertButton_Click(object sender, EventArgs e)
    {
        /*
         * 1.检查输入是否合法(用户名必须输入,权限为1到5)
         * 2.检查是否有此用户名
         * 3.执行添加
         */

        if (UserNameTextBox.Text == "")
        {
            UserNameTextBoxLabel.Text = "请输入用户名";
            return;
        }
        else
        {
            UserNameTextBoxLabel.Text = "";
        }
        if (PasswordTextBox.Text == "")
        {
            PasswordTextBoxLabel.Text = "请输入密码";
            return;
        }
        else
        {
            PasswordTextBoxLabel.Text = "";
        }
        int uAuth = 0;

        try
        {
            int.TryParse(AuthorityTextBox.Text, out uAuth);
        }
        catch
        {
        }
        if (uAuth == 0)
        {
            AuthorityTextBoxLabel.Text = "权限必须为大于等于1,小于等于5的数字";
            return;
        }
        else
        {
            AuthorityTextBoxLabel.Text = "";
        }

        string          strConnection = ConfigurationManager.ConnectionStrings["AccessConnectionString"].ConnectionString;
        OleDbConnection objConnection = new OleDbConnection(strConnection);

        objConnection.Open();
        using (objConnection)
        {
            string       strSQL  = "SELECT TOP 1 * FROM YHTable WHERE YHName=@userName";
            OleDbCommand command = new OleDbCommand(strSQL, objConnection);
            command.Parameters.Add("@userName", OleDbType.VarChar).Value = UserNameTextBox.Text;
            OleDbDataAdapter adapter = new OleDbDataAdapter(command);
            DataTable        dt      = new DataTable();
            adapter.Fill(dt);
            if (dt.Rows.Count >= 1)
            {
                UserNameTextBoxLabel.Text = "该用户已存在";
            }
            else
            {
                strSQL  = "INSERT INTO YHTable(YHName,YHPassword,YHAuthority) values (@userName,@userPassword,@userAuthority)";
                command = new OleDbCommand(strSQL, objConnection);
                command.Parameters.Add("@userName", OleDbType.VarChar).Value      = UserNameTextBox.Text;
                command.Parameters.Add("@userPassword", OleDbType.VarChar).Value  = MD5Provider.Hash(PasswordTextBox.Text);
                command.Parameters.Add("@userAuthority", OleDbType.Numeric).Value = uAuth;
                if (command.ExecuteNonQuery() > 0)
                {
                    MyBasePage.writeLog(Session["userName"].ToString(), "添加用户,账户: " + UserNameTextBox.Text + "  权限:" + uAuth.ToString());
                    JScript.AlertAndRedirect("用户已添加", "", this);
                }
                else
                {
                    MyBasePage.writeLog(Session["userName"].ToString(), "添加用户时发生错误,返回受影响数据库条数为零。欲添加账户: " + UserNameTextBox.Text + "  权限:" + uAuth.ToString());
                    JScript.AlertAndRedirect("添加帐号时发生错误", "", this);
                }
            }
        }
    }
Пример #21
0
    protected void DoModifyButton_Click(object sender, EventArgs e)
    {
        /*
         * 1.检查输入是否合法(用户名必须输入,权限为1到5)
         * 2.检查是否有此用户名
         * 3.执行添加
         */

        int uAuth = 0;

        try
        {
            int.TryParse(mAuthorityTextBox.Text, out uAuth);
        }
        catch
        {
        }
        if (uAuth == 0)
        {
            mAuthorityTextBoxLabel.Text = "权限必须为大于等于1,小于等于5的数字";
            return;
        }
        else
        {
            mAuthorityTextBoxLabel.Text = "";
        }

        string          strConnection = ConfigurationManager.ConnectionStrings["AccessConnectionString"].ConnectionString;
        OleDbConnection objConnection = new OleDbConnection(strConnection);

        objConnection.Open();
        using (objConnection)
        {
            string strSQL = string.Empty;
            if (mPasswordTextBox.Text == "")
            {
                strSQL = "UPDATE YHTable SET YHAuthority=@userAuthority WHERE YHName=\"" + mUserNameLabel.Text + "\"";
            }
            else
            {
                strSQL = "UPDATE YHTable SET YHPassword=@userPassword, YHAuthority=@userAuthority WHERE YHName=\"" + mUserNameLabel.Text + "\"";
            }
            OleDbCommand command = new OleDbCommand(strSQL, objConnection);
            //command.Parameters.Add("@userName", OleDbType.VarChar).Value = mUserNameLabel.Text;
            if (mPasswordTextBox.Text != "")
            {
                command.Parameters.Add("@userPassword", OleDbType.VarChar).Value = MD5Provider.Hash(mPasswordTextBox.Text);
            }
            command.Parameters.Add("@userAuthority", OleDbType.Numeric).Value = uAuth;
            if (command.ExecuteNonQuery() > 0)
            {
                MyBasePage.writeLog(Session["userName"].ToString(), "修改用户,账户: " + mUserNameLabel.Text + "  权限:" + uAuth.ToString());
                JScript.AlertAndRedirect("用户信息已修改", "", this);
            }
            else
            {
                MyBasePage.writeLog(Session["userName"].ToString(), "修改用户时发生错误,返回受影响数据库条数为零。账户: " + mUserNameLabel.Text + "  欲修改为:权限:" + uAuth.ToString());
                JScript.AlertAndRedirect("修改用户信息时发生错误", "", this);
            }
        }
    }
Пример #22
0
 public TaskBase(string password)
 {
     passHash = MD5Provider.GetHash(password);
     Tasks    = new List <Task>();
 }
Пример #23
0
        private void DoLogin(string userCode, string password)
        {
            //
            btnOK.SafeButtonEnable(false);

            this.UIDoStepTasks(new List <Func <bool> >()
            {
                () => {
                    #region 检查硬件环境
                    lblLoadItems.Text = _LoadItem = "检查硬件环境";
                    Application.DoEvents();
                    API icAPI = new API();
                    icAPI.InitIC();
                    if (icAPI.IcDev < 0)
                    {
                        if (MessageBoxAdapter.ShowConfirm("初始化IC读卡设备失败,请确认是否已连接IC读卡设备!是否要跳过该步骤?") == System.Windows.Forms.DialogResult.OK)
                        {
                            btnOK.SafeButtonEnable(true);
                            isBreak = false;
                        }
                        else
                        {
                            isBreak = true;
                            return(false);
                        }
                    }
                    else
                    {
                        icAPI.ExitIC();
                    }
                    isBreak = false;
                    return(true);

                    #endregion
                },
                () => {
                    #region 读取服务机构编码
                    lblLoadItems.Text = _LoadItem = "读取服务机构编码";
                    isBreak           = false;
                    Application.DoEvents();
                    if (string.IsNullOrEmpty(SettingsVar.BindingPACode))
                    {
                        frmBindingPA frm = new frmBindingPA();
                        frm.ShowDialog();
                        if (frm.DialogResult != System.Windows.Forms.DialogResult.OK)
                        {
                            isBreak           = true;
                            this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
                            btnOK.SafeButtonEnable(true);
                            return(false);
                        }
                        else
                        {
                            this.Activate();
                        }
                    }
                    return(true);

                    #endregion
                },
                () => {
                    #region 用户认证
                    lblLoadItems.Text = _LoadItem = "用户认证";
                    isBreak           = false;
                    Application.DoEvents();
                    string authEndPoint = INIAdapter.ReadValue(Common.CFG_SECTION_WEB, Common.CFG_KEY_AUTH_END_POINT, Common.CFG_FILE_PATH);
                    string objectId     = SettingsVar.BindingPACode.Substring(2, 6);
                    HttpAdapter.postSyncAsJSON(authEndPoint, new { RunMode = SettingsVar.RunMode, ObjectId = objectId, UserCode = userCode, PasswordHash = MD5Provider.Generate(password) }.ToStringObjectDictionary(), new { ApplicationId = Common.APPLICATION_ID }.ToStringObjectDictionary(), (ret, res) =>
                    {
                        if ((bool)ret.Success)
                        {
                            Data.UserId = Guid.Parse((string)ret.ret.UserId);
                            SettingsVar.DataExchangePoint = (string)ret.ret.AccessPoint;
                            INIAdapter.WriteValue(Common.INI_SECTION_LOCAL, Common.INI_KEY_USER_NAME_SINCE_LAST, userCode, Common.INI_FILE_PATH);
                        }
                        else
                        {
                            MessageBoxAdapter.ShowError((string)ret.ErrorMessage);
                            isBreak = true;
                            btnOK.SafeButtonEnable(true);
                        }
                    });
                    if (isBreak)
                    {
                        return(false);
                    }
                    return(true);

                    #endregion
                },
                () => {
                    #region 更新老人数据
                    lblLoadItems.Text = _LoadItem = "更新老人数据";
                    isBreak           = false;
                    Application.DoEvents();
                    HttpAdapter.getSyncTo(SettingsVar.DataExchangePoint + "/Pam/PamService/GetOldManInfoForSelfServiceMachine", null, new { ApplicationId = Common.APPLICATION_ID, PACode = SettingsVar.BindingPACode }.ToStringObjectDictionary(), (ret, res) =>
                    {
                        if ((bool)ret.Success)
                        {
                            Data.OldMans = new List <OldManInfo>();
                            foreach (var row in ret.rows)
                            {
                                dynamic item = new ExpandoObject();
                                DynamicAdapter.Parse(item, XElement.Parse(row.ToString()));
                                Data.OldMans.Add((item.StringObjectDictionary as IDictionary <string, object>).FromDynamic <OldManInfo>());
                            }

                            //MessageBoxAdapter.ShowInfo("老人:" + Data.OldMans.Count.ToString());
                        }
                        else
                        {
                            isBreak       = true;
                            lblError.Text = ret.ErrorCode;
                        }
                    });
                    if (isBreak)
                    {
                        return(false);
                    }
                    return(true);

                    #endregion
                },
                () => {
                    #region 更新配餐数据
                    lblLoadItems.Text = _LoadItem = "更新配餐数据";
                    isBreak           = false;
                    Application.DoEvents();
                    HttpAdapter.getSyncTo(SettingsVar.DataExchangePoint + "/Pam/PamService/GetOldManBookMealForToday", null, new { ApplicationId = Common.APPLICATION_ID, PACode = SettingsVar.BindingPACode }.ToStringObjectDictionary(), (ret, res) =>
                    {
                        if ((bool)ret.Success)
                        {
                            Data.BookMeals = new List <BookMealInfo>();
                            foreach (var row in ret.rows)
                            {
                                dynamic item = new ExpandoObject();
                                DynamicAdapter.Parse(item, XElement.Parse(row.ToString()));
                                Data.BookMeals.Add((item.StringObjectDictionary as IDictionary <string, object>).FromDynamic <BookMealInfo>());
                            }

                            //MessageBoxAdapter.ShowInfo("订餐:" + Data.BookMeals.Count.ToString());
                        }
                        else
                        {
                            isBreak       = true;
                            lblError.Text = ret.ErrorCode;
                        }
                    });
                    if (isBreak)
                    {
                        return(false);
                    }
                    return(true);

                    #endregion
                },
                () => {
                    allLoaded         = true;
                    this.DialogResult = System.Windows.Forms.DialogResult.OK;
                    return(true);
                }
            }, Common.msDelay);

            lblLoadItems.UIDoCircleTask(() =>
            {
                if (dotNum == 3)
                {
                    lblLoadItems.Text = _LoadItem;
                    dotNum            = 0;
                }
                else
                {
                    lblLoadItems.Text += ".";
                    dotNum++;
                }
            }, Common.msDot, () =>
            {
                return(allLoaded || isBreak);
            });
        }
Пример #24
0
        private void DoLogin(string userCode, string password)
        {
            //
            btnOk.Enabled = false;

            lblMsg.Text         = "登录中";
            _tickTimer          = new System.Timers.Timer(1 * 200);
            _tickTimer.Elapsed += new System.Timers.ElapsedEventHandler(delegate(object source, System.Timers.ElapsedEventArgs ee)
            {
                BeginInvoke(new Action(() =>
                {
                    if (lblMsg.Text.IndexOf(".") == -1)
                    {
                        lblMsg.Text += ".";
                    }
                    else if (lblMsg.Text.IndexOf(".") + 5 == lblMsg.Text.Length)
                    {
                        lblMsg.Text = lblMsg.Text.Substring(0, lblMsg.Text.Length - 5);
                    }
                    else
                    {
                        lblMsg.Text += ".";
                    }
                }));
            });                                                //到达时间的时候执行事件;
            _tickTimer.AutoReset = true;                       //设置是执行一次(false)还是一直执行(true);
            _tickTimer.Enabled   = true;                       //是否执行System.Timers.Timer.Elapsed事件;

            byte     runMode         = byte.Parse(strRunMode); //测试1 正式0
            string   objectId        = null;
            string   objectName      = null;
            TreeNode theSelectedNode = ctvObjectNodes.TreeView.SelectedNode;

            if (theSelectedNode != null && theSelectedNode.Name != "default")
            {
                objectId   = theSelectedNode.Name;
                objectName = theSelectedNode.Text;
            }
            else
            {
                objectName = "自动";
            }



            HttpAdapter.postAsyncAsJSON(authEndPoint, new { RunMode = runMode, ObjectId = objectId, UserCode = userCode, PasswordHash = MD5Provider.Generate(password) }.ToStringObjectDictionary(), new { ApplicationId = Common.APPLICATION_ID }.ToStringObjectDictionary(), (ret, res) =>
            {
                if ((bool)ret.Success)
                {
                    PensionAgencyVar.UserCode = userCode;
                    PensionAgencyVar.Password = password;
                    PensionAgencyVar.Load(ret.ret);
                    INIAdapter.WriteValue(Common.INI_SECTION_LOCAL, Common.INI_KEY_USER_NAME_SINCE_LAST, userCode, Common.INI_FILE_PATH);
                    INIAdapter.WriteValue(Common.INI_SECTION_LOCAL, Common.INI_KEY_OBJECT_ID_SINCE_LAST, (objectId ?? "default"), Common.INI_FILE_PATH);
                    INIAdapter.WriteValue(Common.INI_SECTION_LOCAL, Common.INI_KEY_OBJECT_NAME_SINCE_LAST, objectName, Common.INI_FILE_PATH);
                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
                else
                {
                    lblMsg.Text = ret.ErrorMessage;

                    this.UIInvoke(() =>
                    {
                        btnOk.Enabled = true;
                    });
                }
                _tickTimer.Enabled = false;
                _tickTimer         = null;
            });
        }
Пример #25
0
    /// <summary>
    /// 登录检查
    /// </summary>
    /// <param name="username">用户输入的用户名</param>
    /// <param name="password">用户输入的密码</param>
    /// <param name="errorText">登录错误时输出的错误信息</param>
    /// <param name="page">请传递this</param>
    /// <returns></returns>
    public static bool login_check(string username, string password, out string errorText, Page page)
    {
        errorText = "";
        if (username != "")
        {
            if (password != "")
            {
                string          md5Password   = MD5Provider.Hash(password);
                string          strConnection = ConfigurationManager.ConnectionStrings["AccessConnectionString"].ConnectionString;
                OleDbConnection objConnection = new OleDbConnection(strConnection);
                objConnection.Open();
                using (objConnection)
                {
                    string       strSQL  = "SELECT Top 1 * FROM YHTable WHERE YHName = @userName";
                    OleDbCommand command = new OleDbCommand(strSQL, objConnection);
                    command.Parameters.Add("@userName", OleDbType.VarChar).Value = username;
                    OleDbDataAdapter adapter = new OleDbDataAdapter(command);
                    DataTable        dt      = new DataTable();
                    adapter.Fill(dt);
                    if (dt.Rows.Count == 1)
                    {
                        if (dt.Rows[0]["YHPassword"].ToString() == md5Password)
                        {
                            //登录成功,设置session
                            page.Session["userName"]      = dt.Rows[0]["YHName"];
                            page.Session["userAuthority"] = dt.Rows[0]["YHAuthority"];
                            page.Session["lastLoginTime"] = dt.Rows[0]["lastlogintime"];
                            page.Session.Timeout          = 60;

                            strSQL  = "UPDATE YHTable SET lastlogintime=@lasttime WHERE 编号=" + dt.Rows[0]["编号"].ToString();
                            command = new OleDbCommand(strSQL, objConnection);
                            command.Parameters.Add("@lasttime", OleDbType.Date).Value = DateTime.Now;
                            command.ExecuteNonQuery();
                            writeLog(username, "登录成功");
                            return(true);
                        }
                        else
                        {
                            errorText = "用户名或密码错误";
                            writeLog(username, "登录错误:用户名或密码错误");
                            return(false);
                        }
                    }
                    else
                    {
                        errorText = "用户名或密码错误";
                        writeLog(username, "登录错误:无此用户");
                        return(false);
                    }
                }
            }
            else
            {
                errorText = "请输入密码";
                writeLog(username, "登录错误:密码为空");
                return(false);
            }
        }

        return(false);
    }