Пример #1
0
    public Setting CheckUserValidation(string userName, string Pass, string captcha, string RawUrl, string UrlHost)
    {
        Setting _setting = new Setting();

        _setting.CaptchaText = Session["captcha"] != null ? Session["captcha"].ToString() : "";
        _setting.MsgVisible  = false;
        _setting.RawUrl      = RawUrl;
        _setting.UrlHost     = UrlHost;
        _setting.UserName    = userName;
        _setting.Pass        = Pass;

        BOLLogs BOLlogs = new BOLLogs();

        string strlogContent = "<login><UserName>" + userName + "</UserName><Password>" + Pass + "</Password></login>";

        if (!HttpContext.Current.Request.Browser.Browser.ToUpper().Contains("IE"))
        {
            _setting.MsgText    = Messages.ShowMessage(MessagesEnum.IEOnly);
            _setting.MsgVisible = true;
            SetCaptcha(_setting);
            return(_setting);
        }

        if (Session["captcha"] == null || Session["captcha"].ToString() != captcha)
        {
            _setting.MsgText    = Messages.ShowMessage(MessagesEnum.InvalidCaptcha);
            _setting.MsgVisible = true;
            SetCaptcha(_setting);
            return(_setting);
        }

        //====================================
        Users ValidUser = BOLUsers.GetDataByUsername(userName);

        if (ValidUser == null)
        {
            //BOLlogs.InsertIntoLogs((int)Enums.LogTypes.enm_InvalidLogin, 0, strlogContent, RawUrl, UrlHost);
            //_setting.MsgText = Messages.ShowMessage(MessagesEnum.InvalidUsernameORPassword);
            //_setting.MsgVisible = true;

            //SetCaptcha(_setting);
            return(_setting);
        }
        else
        {
            Session["UserName"] = userName;
        }
        string HashedPass;
        string DBPassword = ValidUser.Password;

        //============Check username============

        if (ValidUser.Username != userName)
        {
            //BOLlogs.InsertIntoLogs((int)Enums.LogTypes.enm_InvalidLogin, ValidUser.Code, strlogContent, RawUrl, UrlHost);
            //_setting.MsgText = Messages.ShowMessage(MessagesEnum.InvalidUsernameORPassword);
            //_setting.MsgVisible = true;

            //SetCaptcha(_setting);
            return(_setting);
        }

        //============Check pass================

        if ((bool)ValidUser.IsPasswordSHA1)
        {
            HashedPass = Tools.EncryptSHA1(Pass);
        }
        else
        {
            HashedPass = Tools.EncryptRIC(Pass).ToString();
            if (HashedPass == DBPassword)
            {
                BOLUsers.ConvertRICtoSHA1(ValidUser.Code, Pass);
            }
        }

        if (HashedPass != DBPassword)
        {
            //BOLlogs.InsertIntoLogs((int)Enums.LogTypes.enm_InvalidLogin, ValidUser.Code, strlogContent, RawUrl, UrlHost);
            _setting.MsgText    = Messages.ShowMessage(MessagesEnum.InvalidUsernameORPassword);
            _setting.MsgVisible = true;

            SetCaptcha(_setting);
            return(_setting);
        }

        //============Check Block================

        //if (!BOLUsers.IsUserBlocked(ValidUser.Code, ValidUser.HCUserBlockedCode, strlogContent,
        //                    Server.MapPath("~/Configuration.xml"), RawUrl, UrlHost))
        //{
        //    BOLlogs.InsertIntoLogs((int)Enums.LogTypes.enm_Blocked, ValidUser.Code, strlogContent, RawUrl, UrlHost);

        //    _setting.MsgText = Messages.ShowMessage(MessagesEnum.BlockedUser);
        //    _setting.MsgVisible = true;

        //    SetCaptcha(_setting);
        //    return _setting;
        //}

        ////===========Check LoginCount============

        //if (!BOLUsers.CheckForLoginTryCount(ValidUser.Code, ValidUser.HCUserBlockedCode, strlogContent,
        //             Server.MapPath("~/Configuration.xml"), RawUrl, UrlHost))
        //{
        //    BOLlogs.InsertIntoLogs((int)Enums.LogTypes.enm_InvalidLoginCount, ValidUser.Code, strlogContent, RawUrl, UrlHost);
        //    _setting.MsgText = Messages.ShowMessage(MessagesEnum.InvalidLoginCount);
        //    _setting.MsgVisible = true;

        //    SetCaptcha(_setting);
        //    return _setting;
        //}

        //===========Get NeetCert================

        _setting.NeedCert  = ValidUser.NeedCert.HasValue ? ValidUser.NeedCert.Value : false;
        _setting.Tumbprint = ValidUser.ThumbPrint;

        return(_setting);// Tools.CheckForCorrectionForm(prinipal, _setting, ValidUser);
    }