示例#1
0
        /// <summary>
        /// 字节流上传
        /// </summary>
        /// <param name="data">上传文件字节流</param>
        /// <param name="suffix">文件后缀名(.jpg)</param>
        /// <param name="bucket"></param>
        /// <returns></returns>
        public string UploadByByte(byte[] data, string suffix)
        {
            QiniuConfig config = QiniuConfigManager.Current.GetConfig();

            // 七牛安全
            QiNiuSecurity security = new QiNiuSecurity(config.AK, config.SK);
            string        MD5      = DataEncrypt.GetMD5HashByByte(data);
            string        saveKey  = MD5;

            if (!string.IsNullOrWhiteSpace(suffix))
            {
                saveKey += suffix;
            }
            // 生成(上传)凭证时需要使用此Mac
            Mac mac = security.Mac;

            ZoneID zoneId = ZoneID.CN_South;

            Qiniu.Common.Config.SetZone(zoneId, false);
            // 上传策略
            var          putPolicy = security.CreatePutPolicy(config.Bucket, saveKey);
            string       jstr      = putPolicy.ToJsonString();
            string       token     = Auth.CreateUploadToken(mac, jstr);
            FormUploader fu        = new FormUploader();
            var          result    = fu.UploadData(data, saveKey, token);

            string fileUrl = config.Domain + saveKey;

            return(fileUrl);
        }
示例#2
0
        public ActionResult Login(UserLogin model, string LoginCode)
        {
            string userPwd = DataEncrypt.MD5Encrypt(model.LoginPwd.Trim());

            model.LoginPwd = userPwd;
            //判断验证码是否正确
            if (LoginCode.ToLower() == Session["code"].ToString().ToLower())
            {
                //判断用户是否存在
                if (UserManage.CheckUser(model))
                {
                    //给用户设置票证
                    FormsAuthentication.SetAuthCookie(model.LoginName.ToString(), false);
                    return(Json(new { success = 1 }));
                }
                else
                {
                    return(Json(new { success = 2 }));
                }
            }
            else
            {
                return(Json(new { success = 3 }));
            }
        }
示例#3
0
        /// <summary>
        /// 记住用户
        /// </summary>
        /// <returns></returns>
        public ActionResult LoginByRberUser(UserLogin model, string LoginCode)
        {
            string userPwd = DataEncrypt.MD5Encrypt(model.LoginPwd.Trim());

            model.LoginPwd = userPwd;
            //判断验证码是否正确
            if (LoginCode.ToLower() == Session["code"].ToString().ToLower())
            {
                //判断用户是否存在
                if (UserManage.CheckUser(model))
                {
                    if (Request.Cookies.AllKeys.Contains("LoginName"))
                    {
                        var cookietest = Request.Cookies["LoginName"];
                        cookietest.Expires = DateTime.Now.AddDays(-3);
                        Response.Cookies.Add(cookietest);
                    }
                    HttpCookie cookie = new HttpCookie("LoginName", model.LoginName);
                    cookie.Expires = DateTime.Now.AddDays(3);
                    Request.Cookies.Add(cookie);
                    //给用户设置票证
                    FormsAuthentication.SetAuthCookie(model.LoginName.ToString(), false);
                    return(Json(new { success = 1 }));
                }
                else
                {
                    return(Json(new { success = 2 }));
                }
            }
            else
            {
                return(Json(new { success = 3 }));
            }
        }
示例#4
0
 public static PathHashInfo GetPathHashInfo(string regular_path)
 {
     return(new PathHashInfo
     {
         hash0 = (int)DataEncrypt.HashString(0, regular_path),
         hash1 = (int)DataEncrypt.HashString(1, regular_path),
         hash2 = (int)DataEncrypt.HashString(2, regular_path)
     });
 }
示例#5
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="account">账号</param>
        /// <param name="password">密码</param>
        /// <returns></returns>
        public AccountEntity GetAccountNameAndPassowrd(string account, string password)
        {
            //对用户的密码MD5加密
            password = DataEncrypt.DataMd5(password);
            AccountEntity accountEntity = dal.TEntity <AccountEntity>()
                                          .AsQueryable()
                                          .Where(a => a.Account == account && a.Password == password)
                                          .First();

            return(accountEntity);
        }
示例#6
0
 /// <summary>
 /// 查询本地Cookie
 /// </summary>
 public void Check_Logined()
 {
     if (Request.Cookies["users"] != null) //查询cookie
     {
         string str = Request.Cookies["users"].Value;
         if (!string.IsNullOrEmpty(str))
         {
             string[] users = DataEncrypt.DESDecrypt(str).Split(',');
             Login_Count_txt.Text = HttpUtility.UrlDecode(users[0]); //解码
             this.Login_Password_txt.Attributes.Add("value", users[1]);
             Check_Pwd.Checked = true;                               //将记住密码打钩
         }
     }
 }
示例#7
0
    public static ulong HashString(ulong type, string strIn)
    {
        if (!DataEncrypt.m_is_init)
        {
            DataEncrypt.InitCryptTable();
        }
        ulong seed  = 0x7FED7FED;
        ulong seed2 = 0xFFFFFFFFEEEEEEEE;

        foreach (char value in strIn)
        {
            ulong ch = (ulong)value;
            seed  = (DataEncrypt.mCryptTable[(int)(checked ((IntPtr)(unchecked ((type << 8) + ch))))] ^ seed + seed2);
            seed2 = ch + seed + seed2 + (seed2 << 5) + 3UL;
        }
        return(seed);
    }
示例#8
0
 /// <summary>
 /// 登录成功后检查保存状态
 /// </summary>
 /// <param name="userInfo"></param>
 public void Check_Login(UserInfo userInfo)
 {
     //登录成功了,设置Cookie
     if (Check_Pwd.Checked)                                     //记住密码
     {
         string userName = HttpUtility.UrlEncode(userInfo.Uid); //转成特殊
         string userStr  = $"{userName},{userInfo.UPwd}";
         //cookie保存
         HttpCookie cookie = new HttpCookie("users");
         cookie.Value   = DataEncrypt.DESEncrypt(userStr);
         cookie.Expires = DateTime.Now.AddDays(3);
         Response.Cookies.Add(cookie);
     }
     else
     {
         //手动设置过期时间
         Response.Cookies["users"].Expires = DateTime.Now.AddDays(-1);
     }
 }
示例#9
0
 /// <summary>
 /// 初始化Smtp
 /// </summary>
 /// <param name="obj"></param>
 private void InitSmtp(EmailEntity obj)
 {
     try
     {
         string domainUser = m_EmailConfig.UserName;
         string domainPws  = DataEncrypt.DecryptFromDB(m_EmailConfig.Password);
         _smtp = new SmtpClient
         {
             Host        = obj.Smtp,
             Port        = obj.Port,
             EnableSsl   = obj.Ssl,
             Credentials = new System.Net.NetworkCredential(domainUser, domainPws)
         };
     }
     catch (Exception ex)
     {
         //throw new DomainServiceException("InitSmtp Failed.", ex);
     }
 }
示例#10
0
    public bool QueryFileVersionByHashInfo(string file_path, out int file_version)
    {
        PathHashInfo hash_info = DataEncrypt.GetPathHashInfo(file_path);
        bool         is_suc    = false;

        file_version = 0;
        bool flag = this.m_sqlite_db != null;

        if (flag)
        {
            string      sql = string.Format("select version from file_info where hash0 = '{0}' and hash1 = '{1}' and hash2 = '{2}'", hash_info.hash0, hash_info.hash1, hash_info.hash2);
            SQLiteQuery qr  = new SQLiteQuery(this.m_sqlite_db, sql);
            if (qr.Step())
            {
                file_version = qr.GetInteger("version");
                is_suc       = true;
            }
        }
        return(is_suc);
    }
示例#11
0
        /// <summary>
        /// 新用户注册
        /// </summary>
        /// <param name="model"></param>
        /// <param name="LoginCode"></param>
        /// <returns></returns>
        public ActionResult InsertUser(UserLogin model, string LoginCode, string ConfirmPwd)
        {
            string userPwd = DataEncrypt.MD5Encrypt(model.LoginPwd.Trim());

            model.LoginPwd = userPwd;
            string userPwd2 = DataEncrypt.MD5Encrypt(ConfirmPwd.Trim());

            //判断验证码是否正确
            if (LoginCode.ToLower() == Session["code"].ToString().ToLower())
            {
                //判断密码和确认密码是否一致
                if (userPwd == userPwd2)
                {
                    //判断用户名是否已存在
                    if (UserManage.UserIfExist(model.LoginName))
                    {
                        return(Json(new { success = 1 }));
                    }
                    else
                    {
                        //添加用户
                        if (UserManage.InsertUser(model))
                        {
                            return(Json(new { success = 2 }));
                        }
                        else
                        {
                            return(Json(new { success = 3 }));
                        }
                    }
                }
                else
                {
                    return(Json(new { success = 4 }));
                }
            }
            else
            {
                return(Json(new { success = 5 }));
            }
        }
示例#12
0
        public ActionResult UserResetPwd(string loginPwd, string confirmPwd)
        {
            string secrecyPwd  = DataEncrypt.MD5Encrypt(loginPwd.Trim());
            string secrecyPwd2 = DataEncrypt.MD5Encrypt(confirmPwd.Trim());

            //新密码是否和确认密码一致
            if (secrecyPwd == secrecyPwd2)
            {
                //重置密码
                if (UserManage.AlterUserPwd(UserId, secrecyPwd))
                {
                    return(Json(new { success = 1 }));
                }
                else
                {
                    return(Json(new { success = 2 }));
                }
            }
            else
            {
                return(Json(new { success = 3 }));
            }
        }
示例#13
0
 /// <summary>
 /// 将字节数组为Base64编码
 /// </summary>
 /// <param name="bytebase">要编码的byte[]</param>
 /// <returns>base字符串</returns>
 public static string ByteToBase64(byte[] bytebase)
 {
     return(DataEncrypt.Encode(bytebase));
 }
示例#14
0
    private static void ExportCyMzq(string file_name)
    {
        string _name = Path.GetFileNameWithoutExtension(file_name);
        string _dir  = Path.GetDirectoryName(file_name);
        string _file = string.Format("{0}/{1}.txt", _dir, _name);

        if (File.Exists(_file))
        {
            return;
        }
        StringBuilder log_sb = new StringBuilder();

        FileStream   fs         = new FileStream(file_name, FileMode.Open);
        int          nLength    = (int)fs.Length;
        BinaryReader tmp_reader = new BinaryReader(fs);
        int          unzip      = tmp_reader.ReadInt32();

        log_sb.Append("unzip = " + unzip + "\n");
        if (unzip != 0)
        {
            int md5_data_size     = 4;
            int version_data_size = 4;
            int len_data_size     = 4;

            byte[] buffs       = tmp_reader.ReadBytes(nLength - 4);
            int    len         = 0;
            byte[] DecompBuffs = Sqlite3tool.DecompNetBuffer(buffs, nLength, unzip, out len);
            if (unzip != len)
            {
                LogMgr.LogError("error: unzip != len");
            }
            MemoryStream decomp_ms     = new MemoryStream(DecompBuffs);
            BinaryReader decomp_reader = new BinaryReader(decomp_ms);

            int    file_path_count = decomp_reader.ReadInt32();
            int    file_count      = decomp_reader.ReadInt32();
            byte[] file_path_byte  = decomp_reader.ReadBytes(file_path_count);
            byte[] md5_code_byte   = decomp_reader.ReadBytes(file_count * md5_data_size);
            byte[] version_byte    = decomp_reader.ReadBytes(file_count * version_data_size);
            byte[] len_byte        = decomp_reader.ReadBytes(file_count * len_data_size);

            MemoryStream md5_code_mem = new MemoryStream(md5_code_byte);
            BinaryReader md5_code_all = new BinaryReader(md5_code_mem);
            MemoryStream version_mem  = new MemoryStream(version_byte);
            BinaryReader version_all  = new BinaryReader(version_mem);
            MemoryStream len_mem      = new MemoryStream(len_byte);
            BinaryReader len_all      = new BinaryReader(len_mem);

            int file_path_begin_pos = 0;
            for (int index = 0; index < file_count; index++)
            {
                string        file_path = "";
                byte[]        md5       = md5_code_all.ReadBytes(4);
                StringBuilder sb        = new StringBuilder();
                for (int i = 0; i < md5.Length; i++)
                {
                    sb.Append(md5[i].ToString("X2"));
                }

                int version = version_all.ReadInt32();
                int length  = len_all.ReadInt32();
                int end_pos = 0;
                Sqlite3tool.ParseFilePath(ref file_path_byte, file_path_begin_pos, file_path_count, out end_pos, out file_path);
                file_path_begin_pos = end_pos;

                PathHashInfo _hash = DataEncrypt.GetPathHashInfo(file_path);
                log_sb.Append("hash0: ");
                log_sb.Append(_hash.hash0);
                log_sb.Append(", ");
                log_sb.Append("hash1: ");
                log_sb.Append(_hash.hash1);
                log_sb.Append(", ");
                log_sb.Append("hash2: ");
                log_sb.Append(_hash.hash1);
                log_sb.Append(", ");
                log_sb.Append("version: ");
                log_sb.Append(version);
                log_sb.Append(", ");
                log_sb.Append("file_name: ");
                log_sb.Append(Util.GetAssetsBundlePathFromBase64(file_path));
                log_sb.Append(", ");
                log_sb.Append("file_mds: ");
                log_sb.Append(sb.ToString());
                log_sb.Append(", ");
                log_sb.Append("data_len: ");
                log_sb.Append(length);
                log_sb.Append(", ");
                log_sb.Append("unzip_len: ");
                log_sb.Append(length);
                log_sb.Append("\n");
            }
            fs.Close();
            fs.Dispose();
        }

        System.IO.File.WriteAllText(_file, log_sb.ToString());
        log_sb.Clear();
    }
示例#15
0
    public static bool OpenCyMzq(string file_name, ref Dictionary <string, DbFileInfo> map)
    {
        FileStream   fs         = new FileStream(file_name, FileMode.Open);
        int          nLength    = (int)fs.Length;
        BinaryReader tmp_reader = new BinaryReader(fs);
        int          unzip      = tmp_reader.ReadInt32();

        bool result;

        if (unzip == 0)
        {
            result = false;
        }
        else
        {
            int md5_data_size     = 4;
            int version_data_size = 4;
            int len_data_size     = 4;

            byte[] buffs       = tmp_reader.ReadBytes(nLength - 4);
            int    len         = 0;
            byte[] DecompBuffs = Sqlite3tool.DecompNetBuffer(buffs, nLength, unzip, out len);
            if (unzip != len)
            {
                LogMgr.LogError("error: unzip != len");
            }
            MemoryStream decomp_ms     = new MemoryStream(DecompBuffs);
            BinaryReader decomp_reader = new BinaryReader(decomp_ms);

            int    file_path_count = decomp_reader.ReadInt32();
            int    file_count      = decomp_reader.ReadInt32();
            byte[] file_path_byte  = decomp_reader.ReadBytes(file_path_count);
            byte[] md5_code_byte   = decomp_reader.ReadBytes(file_count * md5_data_size);
            byte[] version_byte    = decomp_reader.ReadBytes(file_count * version_data_size);
            byte[] len_byte        = decomp_reader.ReadBytes(file_count * len_data_size);

            MemoryStream md5_code_mem = new MemoryStream(md5_code_byte);
            BinaryReader md5_code_all = new BinaryReader(md5_code_mem);
            MemoryStream version_mem  = new MemoryStream(version_byte);
            BinaryReader version_all  = new BinaryReader(version_mem);
            MemoryStream len_mem      = new MemoryStream(len_byte);
            BinaryReader len_all      = new BinaryReader(len_mem);

            int file_path_begin_pos = 0;
            for (int index = 0; index < file_count; index++)
            {
                string        file_path = "";
                byte[]        md5       = md5_code_all.ReadBytes(4);
                StringBuilder sb        = new StringBuilder();
                for (int i = 0; i < md5.Length; i++)
                {
                    sb.Append(md5[i].ToString("X2"));
                }

                int version = version_all.ReadInt32();
                int length  = len_all.ReadInt32();
                int end_pos = 0;
                Sqlite3tool.ParseFilePath(ref file_path_byte, file_path_begin_pos, file_path_count, out end_pos, out file_path);
                file_path_begin_pos = end_pos;

                DbFileInfo info = new DbFileInfo();
                info.file_name = file_path;
                info.hash_info = DataEncrypt.GetPathHashInfo(file_path);
                info.version   = version;
                info.data_len  = length;
                info.unzip_len = length;
                info.file_md5  = sb.ToString();
                map.Add(info.file_name, info);
            }
            fs.Close();
            fs.Dispose();
            result = true;
        }
#if  UNITY_EDITOR
        //ExportCyMzq(file_name);
#endif
        return(result);
    }
示例#16
0
 /// <summary>
 /// 将Base64编码解析成字符串
 /// </summary>
 /// <param name="strbase">要解码的string字符</param>
 /// <param name="encoding">字符编码方案</param>
 /// <returns>字符串</returns>
 public static string Base64ToString(string strbase, Encoding encoding)
 {
     return(DataEncrypt.Decode(strbase, encoding));
 }
示例#17
0
 /// <summary>
 /// 将字符串转为字节数组
 /// </summary>
 /// <param name="s">字符串</param>
 /// <param name="e">编码,默认为Default</param>
 /// <returns>字节数组</returns>
 public static byte[] StringToByte(string s, Encoding e = null)
 {
     return(DataEncrypt.StringToByte(s, e));
 }
示例#18
0
 /// <summary>
 /// 将字节数组转为字符串
 /// </summary>
 /// <param name="b">字节数组</param>
 /// <param name="e">编码,默认为Default</param>
 /// <returns>字符串</returns>
 public static string ByteToString(byte[] b, Encoding e = null)
 {
     return(DataEncrypt.ByteToString(b, e));
 }
示例#19
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            var param = false;

            if (model.typeLoginValidate == 1)
            {
                model.Password = "******";
                var consultarUsuario = (from aspNetUser in _db.AspNetUsers
                                        where aspNetUser.UserName == model.Username
                                        select aspNetUser).FirstOrDefault();

                if (consultarUsuario != null)
                {
                    //if (consultarUsuario.Status == 1)
                    //{
                    //    ModelState.AddModelError("", "La cuenta ya se encuentra conectada.");
                    //    return View(model);
                    // }
                    //else
                    //{
                    if (consultarUsuario.IdentificationUser == null)
                    {
                        consultarUsuario.IdentificationUser = model.UserRed;

                        //Save changes
                        _db.AspNetUsers.AddOrUpdate(consultarUsuario);
                        _db.SaveChanges();
                    }
                    var loggedinUserDA = await UserManager.FindAsync(model.Username, "Test12345*");

                    if (loggedinUserDA != null)
                    {
                        await UserManager.UpdateSecurityStampAsync(loggedinUserDA.Id);
                    }
                    //}
                }
                else
                {
                    // Si el usuario ingresa por primera vez, se guardan los datos a la base de datos.

                    //Create a role manager object

                    var roleStore  = new RoleStore <IdentityRole>();
                    var roleMgr    = new RoleManager <IdentityRole>(roleStore);
                    var profile    = "avatar.jpeg";
                    var email      = model.Correo.Split('@');
                    var emailFinal = email[0] + "@axity.com";
                    var companyId  = 1;

                    //Load user data into memory
                    // Se guardan los datos
                    var user = new ApplicationUser {
                        UserName = model.Username, Email = emailFinal, CompanyId = companyId, ProfilePictureLocation = profile, IdentificationUser = model.UserRed
                    };

                    // Se añade la clave y se guarda a la base de datos.
                    var result1 = await UserManager.CreateAsync(user, "Test12345*");

                    //IF created succesfully
                    if (result1.Succeeded)
                    {
                        //Se crea el objeto del id del usuario registrado
                        var userId = await UserManager.FindByNameAsync(model.Username);

                        //Se le añade un rol predeterminado (USUARIO)
                        var role = await roleMgr.FindByIdAsync("e4501cfd-212b-4e67-a507-e4469657caf7");

                        //Se añade el rol y el id del usuario
                        await UserManager.AddToRoleAsync(userId.Id, role.Name);
                    }
                    AddErrors(result1);

                    // Inicia sesión automáticamente

                    var loggedinUserDA = await UserManager.FindAsync(model.Username, "Test12345*");

                    if (loggedinUserDA != null)
                    {
                        await UserManager.UpdateSecurityStampAsync(loggedinUserDA.Id);
                    }
                }
            }
            else if (model.typeLoginValidate == 2)
            {
                DataEncrypt valores = new DataEncrypt();
                //var ttr = ServiceSAC.Service1SoapClient;
                ServiceSAC.Service1SoapClient ps = new ServiceSAC.Service1SoapClient();


                var user = model.Username;
                var pwd  = model.Password;

                var userEncryp = valores.Encrypt(user);
                var pwdEncryp  = valores.Encrypt(pwd);

                try
                {
                    var previewResult = ps.LoginAsync(userEncryp, pwdEncryp);
                    var resultes      = previewResult.Result;
                    NameUser = resultes.Body.LoginResult;//errorThe user name or password is incorrect.

                    if (NameUser.Contains("incorrect"))
                    {
                        var consultarUsuario = (from aspNetUser in _db.AspNetUsers
                                                where aspNetUser.UserName == model.Username
                                                select aspNetUser).FirstOrDefault();
                        if (consultarUsuario.Status == 1)
                        {
                            ModelState.AddModelError("", "La cuenta ya se encuentra conectada.");
                            return(View(model));
                        }
                        else
                        {
                            var loggedinUserDA = await UserManager.FindAsync(model.Username, model.Password);

                            if (loggedinUserDA != null)
                            {
                                await UserManager.UpdateSecurityStampAsync(loggedinUserDA.Id);

                                var result2 = await SignInManager.PasswordSignInAsync(model.Username, model.Password, model.RememberMe, shouldLockout : false);

                                switch (result2)
                                {
                                case SignInStatus.Success:
                                    if (param)
                                    {
                                        return(RedirectToAction("Index", "Home", new
                                        {
                                            autoAgent = "true"
                                        }));
                                    }
                                    else
                                    {
                                        return(RedirectToAction("Index", "Home"));   //hola
                                    }

                                case SignInStatus.LockedOut:
                                    return(View("Lockout"));
                                    //case SignInStatus.RequiresVerification:
                                    //return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, model.RememberMe });
                                }
                            }
                        }
                    }
                    else
                    {
                        var consultarUsuario = (from aspNetUser in _db.AspNetUsers
                                                where aspNetUser.UserName == NameUser
                                                select aspNetUser).FirstOrDefault();


                        if (consultarUsuario != null)
                        {
                            if (consultarUsuario.IdentificationUser == null)
                            {
                                consultarUsuario.IdentificationUser = user;

                                //Save changes
                                _db.AspNetUsers.AddOrUpdate(consultarUsuario);
                                _db.SaveChanges();
                            }
                            var loggedinUserDA = await UserManager.FindByNameAsync(NameUser);

                            await SignInManager.SignInAsync(loggedinUserDA, true, false);

                            return(RedirectToAction("Index", "Home"));
                        }
                        else
                        {
                            Console.Write("pr");
                            var roleStore = new RoleStore <IdentityRole>();
                            var roleMgr   = new RoleManager <IdentityRole>(roleStore);
                            var profile   = "avatar.jpeg";

                            var companyId = 3;
                            var random    = RandomNumber();
                            var aleaEmail = "Salud" + random.ToString() + "*****@*****.**";
                            var email     = user + "*****@*****.**";
                            var userName  = new ApplicationUser {
                                UserName = NameUser, Email = email, CompanyId = companyId, ProfilePictureLocation = profile, IdentificationUser = null
                            };

                            // Se añade la clave y se guarda a la base de datos.
                            var result1 = await UserManager.CreateAsync(userName);

                            //IF created succesfully
                            if (result1.Succeeded)
                            {
                                //Se crea el objeto del id del usuario registrado
                                var userId = await UserManager.FindByNameAsync(NameUser);

                                //Se le añade un rol predeterminado (USUARIO)
                                var role = await roleMgr.FindByIdAsync("e4501cfd-212b-4e67-a507-e4469657caf7");

                                //Se añade el rol y el id del usuario
                                await UserManager.AddToRoleAsync(userId.Id, role.Name);

                                await SignInManager.SignInAsync(userName, true, false);

                                return(RedirectToAction("Index", "Home"));
                            }
                            AddErrors(result1);
                        }
                    }
                }
                catch
                {
                    var consultarUsuario = (from aspNetUser in _db.AspNetUsers
                                            where aspNetUser.UserName == model.Username
                                            select aspNetUser).FirstOrDefault();
                    if (consultarUsuario.Status == 1)
                    {
                        ModelState.AddModelError("", "La cuenta ya se encuentra conectada.");
                        return(View(model));
                    }
                    else
                    {
                        var loggedinUserDA = await UserManager.FindAsync(model.Username, model.Password);

                        if (loggedinUserDA != null)
                        {
                            await UserManager.UpdateSecurityStampAsync(loggedinUserDA.Id);

                            var result2 = await SignInManager.PasswordSignInAsync(model.Username, model.Password, model.RememberMe, shouldLockout : false);

                            switch (result2)
                            {
                            case SignInStatus.Success:
                                if (param)
                                {
                                    return(RedirectToAction("Index", "Home", new
                                    {
                                        autoAgent = "true"
                                    }));
                                }
                                else
                                {
                                    return(RedirectToAction("Index", "Home"));
                                }

                            case SignInStatus.LockedOut:
                                return(View("Lockout"));
                                //case SignInStatus.RequiresVerification:
                                //return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, model.RememberMe });
                            }
                        }
                    }
                }
            }

            return(View(model));
        }
示例#20
0
 /// <summary>
 /// 将字符串转为Base64编码
 /// </summary>
 /// <param name="str">要编码的string字符</param>
 /// <param name="encoding">字符编码方案</param>
 /// <returns>base字符串</returns>
 public static string StringToBase64(string str, Encoding encoding)
 {
     return(DataEncrypt.Encode(str, encoding));
 }