コード例 #1
0
        public ActionResult Create([Bind(Include = "Id,AdminLoginIp,Email,MailPassword")] SafetyModel safetyModel)
        {
            if (ModelState.IsValid)
            {
                // Saving Longing Credential
                LoginInfoModel logingInfoModel = new LoginInfoModel();
                PopulateLoginInfoCredencial populateLoginInfoCredencial = new PopulateLoginInfoCredencial(logingInfoModel);
                logingInfoModel = populateLoginInfoCredencial.getLoginInfoCredencial();
                if (!populateLoginInfoCredencial.ValidateIPv4(logingInfoModel.LoginIp))
                {
                    return(RedirectToAction("Login", "Account"));
                }
                logingInfoModel.UsedModel    = "SafetyModel";
                logingInfoModel.TypeOfAction = TypeOfAction.Insert;
                logingInfoModel.Data         = Newtonsoft.Json.JsonConvert.SerializeObject(safetyModel);
                logingInfoModel.SysDate      = DateTime.Now;
                db.LoginInfoModels.Add(logingInfoModel);
                db.SaveChanges();
                // Saving Longing Credential

                db.SafetyModels.Add(safetyModel);
                db.SaveChanges();


                return(RedirectToAction("Index"));
            }

            return(View(safetyModel));
        }
コード例 #2
0
        /// <summary>
        /// 用户登陆
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public LoginInfoModel UserLogin(string userName, string password)
        {
            var            userInfo = new LoginInfoModel();
            List <SysUser> userList;

            using (var conn = SqlConnectionHelper.GetOpenConnection())
            {
                userList = conn.GetList <SysUser>(new { UserName = userName, IsDel = FlagEnum.HadZore.GetHashCode(), Password = password })?.ToList();
            }
            if (userList == null || userList.Count < 1)
            {
                userInfo.IsLogin    = false;
                userInfo.ErrMessage = "用户名或密码错误";
                return(userInfo);
            }

            var u = userList.First();

            userInfo.ClientIp = Fetch.UserIp;

            userInfo.IsLogin    = true;
            userInfo.Id         = u.Id;
            userInfo.UserId     = u.Id;
            userInfo.LoginName  = userName;
            userInfo.TrueName   = u.TrueName;
            userInfo.HeadUrl    = u.HeadUrl;
            userInfo.DepartName = string.Empty;
            userInfo.JobNumber  = string.Empty;
            return(userInfo);
        }
コード例 #3
0
ファイル: BaseController.cs プロジェクト: LanccBy2016/C2048
        public LoginInfoModel GetLoginInfo()
        {
            var model       = new LoginInfoModel();
            var loginCookie = CookiesHelper.GetCookie(WebConfigOperation.CookieName);//是否已存在登录的用户cookie

            if (loginCookie != null)
            {
                //2.获取用户信息
                model.UserInfo = new LoginBLL().GetUserInfo(loginCookie.Value);
                if (model.UserInfo == null)
                {
                    return(model);
                }
            }
            var ykCookie = CookiesHelper.GetCookie(WebConfigOperation.YkCookieName);

            if (ykCookie == null)
            {
                var yk = EncryptAndDecrypt.Encrypt(DateTime.Now.ToString());
                CookiesHelper.AddCookie(WebConfigOperation.YkCookieName, yk);
                CookiesHelper.SetCookie(WebConfigOperation.YkCookieName, DateTime.Now.AddMonths(1));
                model.ykCookie = yk;
            }
            else
            {
                model.ykCookie = ykCookie.Value.ToString();
            }

            return(model);
        }
コード例 #4
0
        public ActionResult Edit([Bind(Include = "Id,RoleId,RoleIdText,MenuInfoId,MenuInfoIdText,CanView,CanCreate,CanEdit,CanDelete,Active")] RoleMenuMapping roleMenuMapping)
        {
            if (ModelState.IsValid)
            {
                // Saving Longing Credential
                LoginInfoModel logingInfoModel = new LoginInfoModel();
                PopulateLoginInfoCredencial populateLoginInfoCredencial = new PopulateLoginInfoCredencial(logingInfoModel);
                logingInfoModel = populateLoginInfoCredencial.getLoginInfoCredencial();
                if (!populateLoginInfoCredencial.ValidateIPv4(logingInfoModel.LoginIp))
                {
                    return(RedirectToAction("Login", "Account"));
                }
                logingInfoModel.UsedModel    = "RoleMenuMapping";
                logingInfoModel.TypeOfAction = TypeOfAction.Update;
                logingInfoModel.Data         = Newtonsoft.Json.JsonConvert.SerializeObject(roleMenuMapping);
                logingInfoModel.SysDate      = DateTime.Now;
                db.LoginInfoModels.Add(logingInfoModel);
                db.SaveChanges();
                // Saving Longing Credential

                db.Entry(roleMenuMapping).State = EntityState.Modified;
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            return(View(roleMenuMapping));
        }
コード例 #5
0
        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <param name="userInfo"></param>
        /// <returns></returns>
        public LoginInfoModel GetUserInfo(LoginInfoModel userInfo)
        {
            if (userInfo == null || userInfo.Id < 1)
            {
                return(null);
            }
            var key   = CacheMenuListKey + userInfo.Id;
            var model = RedisCacheHelper.Get <LoginInfoModel>(key);

            if (model != null)
            {
                return(model);
            }
            List <int> authorityList = new List <int>();

            userInfo.MenuList = GetMenuList(userInfo.UserId, ref authorityList);
            if (authorityList != null && authorityList.Any())
            {
                userInfo.BusinessPermissionList = authorityList.Select(p => p).Cast <EnumBusinessPermission>().ToList();
            }
            else
            {
                userInfo.BusinessPermissionList = new List <EnumBusinessPermission>();
            }
            if (userInfo.MenuList == null)
            {
                userInfo.MenuList = new List <SysMenuModel>();
            }

            RedisCacheHelper.AddSet(CacheMenuListKey + userInfo.Id, userInfo, new TimeSpan(0, 0, 10));
            return(userInfo);
        }
コード例 #6
0
 public void GetLoginInfoModel(Guid id)
 {
     if (id != null)
     {
         LoginInfoModelList savelist = new LoginInfoModelList();
         LoginInfoModelList list     = Get_LoginInfoList();
         if (list != null)
         {
             List <LoginInfoModel> inlist = list.logindatalist;
             if (!inlist.Exists(x => x.userid == id))
             {
                 CommonMethod.ResponseJsonResult("");
                 return;
             }
             LoginInfoModel model = inlist.Find(x => x.userid == id);
             CommonMethod.ResponseJsonResult(model);
         }
         else
         {
             CommonMethod.ResponseJsonResult("");
         }
     }
     else
     {
         CommonMethod.ResponseJsonResult("");
     }
 }
コード例 #7
0
ファイル: AccountController.cs プロジェクト: jellydong/LJDAPP
        public async Task <IActionResult> Login(LoginInfoModel loginInfo)
        {
            _logger.LogInformation($"用户登录{JsonConvert.SerializeObject(loginInfo)}");
            ResponseResult responseResult = new ResponseResult(false, "未执行!");

            try
            {
                loginInfo.VerifyCode = new VerifyCodeModel()
                {
                    Id   = string.Empty,
                    Code = string.Empty
                };

                var result = await _authServiceClient.Login(loginInfo);

                if (result.Code.Equals(ResultEnum.SUCCESS))
                {
                    ////登陆
                    CurrentUserManage.Login(result.Result);
                }
                else
                {
                    responseResult.Message = result.Message;
                }

                responseResult.Message = "登陆成功!";
                responseResult.Code    = ResultEnum.SUCCESS;
            }
            catch (Exception ex)
            {
                responseResult.Message = ex.Message;
            }

            return(Json(responseResult));
        }
コード例 #8
0
 public ActionResult Login(LoginInfoModel model, string returnUrl)
 {
     if (ModelState.IsValid)
     {
         UserInfo user = um.GetUserInfoByLoginId(model.LoginId.Trim());
         if (user == null)
         {
             ModelState.AddModelError("LoginId", "用户名不存在");
         }
         else
         {
             if (user.LoginPwd.Trim().ToLower().Equals(model.LoginPwd.Trim().ToLower()) && user.UserRole.Name == "管理员" && user.UserState.Name == "正常")
             {
                 Session["User"] = user;
                 //用用户的登录名替换原来匿名的GUID
                 MigrateShoppingCart(user.LoginId);
                 //记住凭据
                 FormsAuthentication.SetAuthCookie(user.LoginId, false);
                 if (returnUrl != null)
                 {
                     return(Redirect(returnUrl));
                 }
                 else
                 {
                     return(RedirectToAction("Index", "Home"));
                 }
             }
             else
             {
                 ModelState.AddModelError("LoginPwd", "您输入的密码有误");
             }
         }
     }
     return(View(model));
 }
コード例 #9
0
        public ActionResult DeleteConfirmed(int id)
        {
            RoleMenuMapping roleMenuMapping = db.RoleMenuMappings.Find(id);

            // Saving Longing Credential
            LoginInfoModel logingInfoModel = new LoginInfoModel();
            PopulateLoginInfoCredencial populateLoginInfoCredencial = new PopulateLoginInfoCredencial(logingInfoModel);

            logingInfoModel = populateLoginInfoCredencial.getLoginInfoCredencial();
            if (!populateLoginInfoCredencial.ValidateIPv4(logingInfoModel.LoginIp))
            {
                return(RedirectToAction("Login", "Account"));
            }
            logingInfoModel.UsedModel    = "RoleMenuMapping";
            logingInfoModel.TypeOfAction = TypeOfAction.Delete;
            logingInfoModel.Data         = Newtonsoft.Json.JsonConvert.SerializeObject(roleMenuMapping);
            logingInfoModel.SysDate      = DateTime.Now;
            db.LoginInfoModels.Add(logingInfoModel);
            db.SaveChanges();
            // Saving Longing Credential


            db.RoleMenuMappings.Remove(roleMenuMapping);
            db.SaveChanges();



            return(RedirectToAction("Index"));
        }
コード例 #10
0
        /// <summary>
        /// 保存智慧识货登录信息
        /// </summary>
        /// <param name="userInfo">登录信息</param>
        /// <param name="type">0 cookie 1 Session 不填或其他值都默认cookie保存</param>
        /// <param name="isEncrypt">是否加密</param>
        public static void SetSmartSession(LoginInfoModel userInfo, int type = 0, bool isEncrypt = true)
        {
            if (userInfo != null)
            {
                string user = isEncrypt ? "[Encrypt]" + DesCodeHelper.EncryptDes(JsonConvert.SerializeObject(userInfo)) : JsonConvert.SerializeObject(userInfo);
                switch (type)
                {
                case 1:
                    if (HttpContext.Current != null)
                    {
                        HttpContext.Current.Session.Add(SessionName, user);
                    }
                    break;

                case 0:
                default:
                    HttpCookie cookie = new HttpCookie(SessionName)
                    {
                        Expires = DateTime.Now.AddHours(2),
                        Value   = user
                    };
                    HttpContext.Current.Response.Cookies.Add(cookie);
                    break;
                }
            }
        }
コード例 #11
0
        /// <summary>
        /// 本アプリで登録されているかチェック
        /// </summary>
        /// <returns>0:未登録 1:登録済み</returns>
        public string IsAlmostLogin(string accessToken)
        {
            AccessToken = accessToken;

            //基本的にここには引っかからないはず
            if (this.UserInfoOfGoogle == null)
            {
                throw new Exception("Googleのログインデータが取得できません");
            }
            this.LoginInfo = getUserInfoFromGoogleId(this.UserInfoOfGoogle.id);


            if (this.LoginInfo != null)   //すでに登録済みの場合
            {
                return("1");
            }
            else //未登録=これから新規登録の場合
            {
                this.LoginInfo = new LoginInfoModel()
                {
                    AccessToken = accessToken
                };

                //グーグル登録名を
                this.LoginInfo.Name     = UserInfoOfGoogle.name;
                this.LoginInfo.GoogleId = this.UserInfoOfGoogle.id;
                return("0");
            }
        }
コード例 #12
0
 public ActionResult Login(LoginInfoModel model, string returnUrl)
 {
     if (ModelState.IsValid)
     {
         var admin = context.Admins.Where(m => m.LoginId == model.LoginId.Trim().ToLower()).SingleOrDefault();
         if (admin == null)
         {
             ModelState.AddModelError("LoginId", "用户名不存在");
         }
         else
         {
             if (model.LoginPwd.Trim().ToLower() == admin.LoginPwd)
             {
                 //记住凭据
                 FormsAuthentication.SetAuthCookie(admin.LoginId, false);
                 if (returnUrl != null)
                 {
                     return(Redirect(returnUrl));
                 }
                 else
                 {
                     return(RedirectToAction("Index", "StoreManager"));
                 }
             }
             else
             {
                 ModelState.AddModelError("LoginPwd", "密码输入错误");
             }
         }
     }
     return(View(model));
 }
        public ActionResult DeleteConfirmed(int id)
        {
            LoginInfoModel loginInfoModel = db.LoginInfoModels.Find(id);

            // db.LoginInfoModels.Remove(loginInfoModel);
            // db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #14
0
ファイル: AuthController.cs プロジェクト: jellydong/LJDAPP
        public async Task <ResponseResult> Login(LoginInfoModel loginInfo)
        {
            _logger.LogInformation($"用户登录{JsonConvert.SerializeObject(loginInfo)}");
            //todo: 赋值 ip 登录设备信息
            var result = await _userService.Login(loginInfo);

            return(LoginHandle(result));
        }
コード例 #15
0
 public LoginViewModel(IWindowManager windowManager)
 {
     _windowManager      = windowManager;
     _loginInfo          = new LoginInfoModel();
     _loginInfo.Username = "******";
     IP         = "10.4.0.119";
     Tablespace = "USERS";
 }
コード例 #16
0
        public ActionResult DeleteConfirmed(int id)
        {
            var RoleName = db.RoleMasters.Where(w => w.Id == id).FirstOrDefault().Name;

            var RoleExistedInUser = db.RoleMasters.Where(w => w.Name == RoleName).FirstOrDefault();

            if (RoleName == "Admin" || RoleExistedInUser != null)
            {
                return(RedirectToAction("Index"));
            }

            RoleMaster roleMasterDel = db.RoleMasters.Find(id);

            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db));
            var role        = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();

            role = roleManager.FindByName(roleMasterDel.Name);
            var roleResult = roleManager.DeleteAsync(role);


            using (var db = new ApplicationDbContext())
            {
                using (var dbContextTransaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        RoleMaster roleMaster = db.RoleMasters.Find(id);

                        // Saving Longing Credential
                        LoginInfoModel logingInfoModel = new LoginInfoModel();
                        PopulateLoginInfoCredencial populateLoginInfoCredencial = new PopulateLoginInfoCredencial(logingInfoModel);
                        logingInfoModel = populateLoginInfoCredencial.getLoginInfoCredencial();
                        if (!populateLoginInfoCredencial.ValidateIPv4(logingInfoModel.LoginIp))
                        {
                            return(RedirectToAction("Login", "Account"));
                        }
                        logingInfoModel.UsedModel    = "RoleMaster";
                        logingInfoModel.TypeOfAction = TypeOfAction.Delete;
                        logingInfoModel.Data         = Newtonsoft.Json.JsonConvert.SerializeObject(roleMaster);
                        logingInfoModel.SysDate      = DateTime.Now;
                        db.LoginInfoModels.Add(logingInfoModel);
                        db.RoleMasters.Remove(roleMaster);

                        if (roleResult.Result.Errors.Count() == 0)
                        {
                            db.SaveChanges();
                            dbContextTransaction.Commit();
                        }
                    }
                    catch (Exception ex)
                    {
                        dbContextTransaction.Rollback();
                    }
                }
            }

            return(RedirectToAction("Index"));
        }
コード例 #17
0
        /// <summary>
        /// 新規登録
        /// </summary>
        /// <param name="model"></param>
        public LoginInfoModel NewRegist(LoginInfoModel model)
        {
            using (var conn = new SQLiteConnection("Data Source=" + SQLITE_PATH))
            {
                conn.Open();
                using (SQLiteTransaction trans = conn.BeginTransaction())
                {
                    SQLiteCommand command = conn.CreateCommand();

                    /////////////////////////////////
                    //ユーザーテーブルへの格納
                    /////////////////////////////////
                    command.CommandText = "INSERT INTO USER_INFO (NAME , REGIST_DATE, DELETE_FLG ,GOOGLE_ID) " +
                                          "VALUES (@NAME , @REGIST_DATE, '0' ,@GOOGLE_ID);";

                    //IDはオートインクリメント
                    command.Parameters.Add("NAME", System.Data.DbType.String).Value        = model.Name.ToString();
                    command.Parameters.Add("REGIST_DATE", System.Data.DbType.String).Value = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
                    command.Parameters.Add("GOOGLE_ID", System.Data.DbType.String).Value   = model.GoogleId.ToString();
                    command.ExecuteNonQuery();

                    trans.Commit();

                    //以下きりだし
                    command.CommandText = "SELECT ID,NAME,GOOGLE_ID " +
                                          "FROM USER_INFO " +
                                          "WHERE GOOGLE_ID = @google_id " +
                                          "AND DELETE_FLG = @delete_flg; ";
                    command.Parameters.Add("google_id", System.Data.DbType.String).Value = model.GoogleId;
                    command.Parameters.Add("delete_flg", System.Data.DbType.Int16).Value = 0;
                    int count = 0;
                    this.LoginInfo = new LoginInfoModel();
                    using (SQLiteDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            if (!reader.HasRows)
                            {
                                break;
                            }

                            //通常はここに引っかからないはず
                            if (count > 0)
                            {
                                throw new Exception("登録データが複数件存在します。");
                            }

                            LoginInfo.Id       = Convert.ToString(reader["ID"].ToString());
                            LoginInfo.Name     = Convert.ToString(reader["NAME"].ToString());
                            LoginInfo.GoogleId = Convert.ToString(reader["GOOGLE_ID"].ToString());
                            count++;
                        }
                    }
                }
            }
            return(this.LoginInfo);
        }
コード例 #18
0
    public int insertData(string loginName, byte[] passWord2, string email, string nikeName, string tel, string addr, string infoid, string sitekey)
    {
        int flag = 0;

        LoginInfoModel model = new LoginInfoModel();

        model.LoginName     = loginName;
        model.Password      = passWord2;
        model.NickName      = nikeName;
        model.RoleName      = "0";//会员
        model.ManageTypeID  = "2002";
        model.MemberGradeID = "1001";
        model.IsCheckUp     = false;
        model.Email         = email;
        model.Tel           = tel;
        model.CompanyName   = addr;
        model.PropertyID    = Int32.Parse("0");
        //--------会员信息
        MemberInfoModel memberModel = new MemberInfoModel();

        memberModel.LoginName    = loginName;
        memberModel.ManageTypeID = "2002";
        memberModel.NickName     = nikeName;
        memberModel.Email        = email;
        memberModel.Tel          = tel;
        memberModel.Mobile       = "";
        memberModel.Birthday     = DateTime.Now;

        LoginInfoBLL  loginfo = new LoginInfoBLL();
        MemberInfoBLL member  = new MemberInfoBLL();

        try
        {
            try
            {
                loginfo.LogInfoAdd(model);                                 //向注册表写数据
                loc.AdLogin_Add2(model.LoginName.Trim(), infoid, sitekey); //向AdLoginInfoTab表写数据
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                throw (new Exception(ex.Message));
            }
            int i = member.MemberMessage_Insert(memberModel);   //会员信息
            if (i > 0)
            {
                //BBS_Reg.Reg(nikeName, "123456", email);         //论坛会员注册
                flag = 1;
            }
        }
        catch (Exception exp)
        {
            flag = -1;
            Tz888.Common.MessageBox.ShowBack("数据提交时出错,注册失败。");
        }
        return(flag);
    }
 public ActionResult Edit([Bind(Include = "Id,UserId,UserPassword,UsedModel,LoginIp,TypeOfAction,SysDate")] LoginInfoModel loginInfoModel)
 {
     if (ModelState.IsValid)
     {
         // db.Entry(loginInfoModel).State = EntityState.Modified;
         // db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(loginInfoModel));
 }
コード例 #20
0
        /// <summary>
        /// 新增登录信息
        /// </summary>
        public void ADD_LoginData()
        {
            LoginInfoModel model = new LoginInfoModel();

            model.userid    = System.Guid.NewGuid();
            model.userName  = Request["userName"];
            model.logincode = Request["logincode"];
            model.passWord  = CommonMethod.md5_32(Request["passWord"]);
            model.usertype  = int.Parse(Request["usertype"]);
            model.status    = 0;
            LoginInfoModelList savelist = new LoginInfoModelList();
            LoginInfoModelList list     = Get_LoginInfoList();

            if (list != null)
            {
                List <LoginInfoModel> inlist = list.logindatalist;
                if (inlist.Exists(x => x.logincode == model.logincode))
                {
                    CommonMethod.ResponseJsonResult(new { success = false, msg = "登录帐号已存在." });
                    return;
                }
                inlist.Add(model);
                savelist.logindatalist = inlist;
                string path = HttpContext.Server.MapPath(AppsettingConfig.logindatapath);
                CreateconfigFile(path);
                FileStream   fs = new FileStream(path, FileMode.Create);
                StreamWriter sw = new StreamWriter(fs);
                //开始写入
                sw.Write(Newtonsoft.Json.JsonConvert.SerializeObject(savelist));//写入文件,替换原文件
                //清空缓冲区
                sw.Flush();
                //关闭流
                sw.Close();
                fs.Close();
                CommonMethod.ResponseJsonResult(new { success = true, msg = "新增成功." });
            }
            else
            {
                List <LoginInfoModel> inlist = new List <LoginInfoModel>();
                inlist.Add(model);
                savelist.logindatalist = inlist;
                string path = HttpContext.Server.MapPath(AppsettingConfig.logindatapath);
                CreateconfigFile(path);
                FileStream   fs = new FileStream(path, FileMode.Create);
                StreamWriter sw = new StreamWriter(fs);
                //开始写入
                sw.Write(Newtonsoft.Json.JsonConvert.SerializeObject(savelist));//写入文件,替换原文件
                //清空缓冲区
                sw.Flush();
                //关闭流
                sw.Close();
                fs.Close();
                CommonMethod.ResponseJsonResult(new { success = true, msg = "新增成功." });
            }
        }
コード例 #21
0
        /// <summary>
        /// 医生登录,陈洁修改
        /// </summary>
        /// <param name="account_name">登录账户-手机号</param>
        /// <param name="password">登录密码</param>
        /// <returns></returns>
        public JsonMsg <LoginInfoModel> DoctorLogin(string account_name, string password)
        {
            string passwordMD5 = QWPlatform.SystemLibrary.Utils.Strings.StrToMD5(password);
            var    result      = JsonMsg <LoginInfoModel> .OK(null, "人员登录成功!");

            LoginInfoModel loginInfo = null;

            try
            {
                using (var db = new DbContext())
                {
                    //定义sql执行对象
                    var sqlBuilder = db.Sql("");
                    //SQL动态参数
                    List <string> list = new List <string>();
                    //如果包括account_name参数则使用account_name
                    sqlBuilder.Parameters("account", account_name);
                    list.Add("account");
                    sqlBuilder.Parameters("password", passwordMD5);
                    list.Add("password");
                    //获取执行的sql
                    string sql = db.GetSql("AB00001-平台身份认证", null, list.ToArray());
                    //执行数据查询
                    var items = sqlBuilder.SqlText(sql).GetModelList <LoginInfoModel>();
                    if (items == null || !items.Any())
                    {
                        result.msg  = "账户或密码不正确!";
                        result.code = ResponseCode.Error;
                        return(result);
                    }
                    loginInfo = items.FirstOrDefault(x => x.account_status == 1);
                    if (loginInfo == null)
                    {
                        result.msg  = "账户已被停用,请与管理员联系!";
                        result.code = ResponseCode.Error;
                        return(result);
                    }
                    loginInfo = items.FirstOrDefault(x => x.account_status == 1 && x.status == 1);
                    if (loginInfo == null)
                    {
                        result.msg  = "该账户已被停用,请与管理员联系!";
                        result.code = ResponseCode.Error;
                        return(result);
                    }
                    result.data = loginInfo;
                }
            }
            catch (Exception ex)
            {
                result.msg  = "查询人员登录信息发生异常!";
                result.code = ResponseCode.Error;
                Logger.Instance.Error(result.msg, ex);
            }
            return(result);
        }
コード例 #22
0
ファイル: UserService.cs プロジェクト: jellydong/LJDAPP
        /// <summary>
        /// 更新账户认证信息
        /// </summary>
        private async Task <ResponseResult> UpdateAuthInfo(SysUser userInfo, LoginInfoModel loginInfo)
        {
            var authInfo = new SysAuth
            {
                UserId                  = userInfo.Id,
                Platform                = loginInfo.Platform,
                LoginTime               = DateTime.Now,
                LoginIP                 = loginInfo.IP ?? "1",
                RefreshToken            = GenerateRefreshToken(),
                RefreshTokenExpiredTime = DateTime.Now.AddDays(7)//默认刷新令牌有效期7天
            };
            var platform = Convert.ToInt32(loginInfo.Platform);
            var entity   = _authRepository.GetList(a => a.UserId == userInfo.Id && a.Platform == loginInfo.Platform).FirstOrDefault();

            if (entity != null)
            {
                entity.UserId                  = userInfo.Id;
                entity.Platform                = loginInfo.Platform;
                entity.LoginTime               = DateTime.Now;
                entity.LoginIP                 = loginInfo.IP ?? "1";
                entity.RefreshToken            = GenerateRefreshToken();
                entity.RefreshTokenExpiredTime = DateTime.Now.AddDays(7);//默认刷新令牌有效期7天

                _authRepository.Update(entity);
            }
            else
            {
                _authRepository.Insert(authInfo);
            }
            var count = await _iUnitOfWork.SaveChangesAsync();


            if (count.Equals(1))
            {
                //删除验证码缓存
                if (loginInfo.VerifyCode != null)
                {
                    CacheHelper.Cache.RemoveCache($"{GlobalSettings.LyAdminOptions.DefaultAppKeys.VerifyCode}:{loginInfo.VerifyCode.Id}");
                }

                //删除认证信息缓存
                CacheHelper.Cache.RemoveCache($"{GlobalSettings.LyAdminOptions.DefaultAppKeys.AuthInfo}:{userInfo.Id}:{loginInfo.Platform}");


                var userInfoResource = _mapper.Map <UserInfoResource>(userInfo);
                var authInfoResource = _mapper.Map <AuthResource>(authInfo);

                return(new ResponseResult <LoginResultModel>(true, new LoginResultModel
                {
                    UserInfo = userInfoResource,
                    AuthResource = authInfoResource
                }));
            }
            return(null);
        }
コード例 #23
0
        public LoginInfoModel GetLoginInfo()
        {
            LoginInfoModel m       = new LoginInfoModel();
            var            manager = HttpContext.GetOwinContext().GetUserManager <AdminUserManager>();
            var            user    = manager.FindByName(User.Identity.Name);

            m.UserId      = user.Id;
            m.UserName    = user.UserName;
            m.Permissions = manager.GetPermissionsByUserId(user.Id);
            return(m);
        }
        public ActionResult Create([Bind(Include = "Id,UserId,UserPassword,UsedModel,LoginIp,TypeOfAction,SysDate")] LoginInfoModel loginInfoModel)
        {
            if (ModelState.IsValid)
            {
                db.LoginInfoModels.Add(loginInfoModel);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(loginInfoModel));
        }
        public ActionResult Create([Bind(Include = "Id,UserId,Name,RoleId,Active,UserCell")] UserMaster userMaster)
        {
            MembershipHelp mHelp = new MembershipHelp(); var role = mHelp.logingUserRole(User.Identity.Name);
            var            roleId  = db.RoleMasters.Where(w => w.Name == role).Select(s => s.Id).FirstOrDefault();
            var            canEdit = (from m in db.MenuInfoes join rm in db.RoleMenuMappings on m.Id equals rm.MenuInfoId where m.MenuURL.Contains("UserMasters") && rm.RoleId == roleId select rm.CanEdit).FirstOrDefault();

            if (!canEdit)
            {
                return(RedirectToAction("Index"));
            }



            // to ensure same role single user
            var roleAlreadyIn = db.UserMasters.Where(w => w.RoleId == userMaster.RoleId).FirstOrDefault();

            if (roleAlreadyIn != null)
            {
                return(RedirectToAction("Index"));
            }

            // to ensure same role single user

            if (ModelState.IsValid)
            {
                // Saving Longing Credential
                LoginInfoModel logingInfoModel = new LoginInfoModel();
                PopulateLoginInfoCredencial populateLoginInfoCredencial = new PopulateLoginInfoCredencial(logingInfoModel);
                logingInfoModel = populateLoginInfoCredencial.getLoginInfoCredencial();
                if (!populateLoginInfoCredencial.ValidateIPv4(logingInfoModel.LoginIp))
                {
                    return(RedirectToAction("Login", "Account"));
                }
                logingInfoModel.UsedModel    = "UserMaster";
                logingInfoModel.TypeOfAction = TypeOfAction.Insert;
                logingInfoModel.SysDate      = DateTime.Now;
                logingInfoModel.Data         = Newtonsoft.Json.JsonConvert.SerializeObject(userMaster);

                db.LoginInfoModels.Add(logingInfoModel);
                db.SaveChanges();
                // Saving Longing Credential


                db.UserMasters.Add(userMaster);
                db.SaveChanges();



                return(RedirectToAction("Index"));
            }

            ViewBag.RoleId = new SelectList(db.RoleMasters, "Id", "Name", userMaster.RoleId);
            return(View(userMaster));
        }
コード例 #26
0
        public PartialViewResult LoginInfo()
        {
            var loginInfo = new LoginInfoModel
            {
                IsAdmin          = this.IsAdmin,
                UserName         = this.UserContext.Name,
                RootUnitName     = this.UserContext.RootUnitName,
                HospitalOrVendor = this.UserContext.HospitalOrVendor
            };

            var hospitalId = string.Empty;

            if (this.UserContext.HospitalOrVendor)
            {
                hospitalId = string.IsNullOrEmpty(this.UserContext.CurrentHospital)
                    ? this.UserContext.RootUnitId : this.UserContext.CurrentHospital;

                var found = false;
                loginInfo.Hospitals = new UnitService().GetHospitalsByUserId(this.UserContext.UserId).Select(item =>
                {
                    var result = new TargetHospitalModel
                    {
                        Id       = item.Id,
                        Name     = item.Name,
                        Selected = string.Compare(hospitalId, item.Id, true) == 0
                    };

                    if (!found)
                    {
                        found = result.Selected;
                    }
                    return(result);
                }).ToList();

                hospitalId = found ? hospitalId : this.UserContext.RootUnitId;
            }
            else
            {
                loginInfo.Hospitals = new UnitService().GetHospitalsByVendor(this.UserContext.RootUnitId).Select(item =>
                                                                                                                 new TargetHospitalModel
                {
                    Id       = item.Id,
                    Name     = item.Name,
                    Selected = string.Compare(this.UserContext.CurrentHospital, item.Id, true) == 0
                }).ToList();

                hospitalId = string.IsNullOrEmpty(this.UserContext.CurrentHospital)
                    ? (loginInfo.Hospitals.Count > 0 ? loginInfo.Hospitals[0].Id : "") : this.UserContext.CurrentHospital;
            }

            InitCookie(hospitalId);

            return(PartialView("~/Views/Main/_LoginInfo.cshtml", loginInfo));
        }
コード例 #27
0
        public ActionResult Create([Bind(Include = "Id,Name,Active")] RoleMaster roleMaster, string DepartmentName)
        {
            roleMaster.Name = roleMaster.Name + " " + DepartmentName;

            if (db.RoleMasters.Where(w => w.Name == roleMaster.Name).ToList().Count() > 0)
            {
                return(RedirectToAction("Index"));
            }

            if (ModelState.IsValid)
            {
                db.RoleMasters.Add(roleMaster);
                db.SaveChanges();

                var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db));
                var role        = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
                role.Name = roleMaster.Name;
                roleManager.Create(role);


                // Saving Longing Credential
                LoginInfoModel logingInfoModel = new LoginInfoModel();
                PopulateLoginInfoCredencial populateLoginInfoCredencial = new PopulateLoginInfoCredencial(logingInfoModel);
                logingInfoModel = populateLoginInfoCredencial.getLoginInfoCredencial();
                if (!populateLoginInfoCredencial.ValidateIPv4(logingInfoModel.LoginIp))
                {
                    return(RedirectToAction("Login", "Account"));
                }

                logingInfoModel.UsedModel    = "RoleMaster";
                logingInfoModel.TypeOfAction = TypeOfAction.Insert;
                logingInfoModel.Data         = Newtonsoft.Json.JsonConvert.SerializeObject(role);
                logingInfoModel.SysDate      = DateTime.Now;

                db.LoginInfoModels.Add(logingInfoModel);
                db.SaveChanges();
                // Saving Longing Credential

                return(RedirectToAction("Index"));
            }

            List <SelectListItem> DepartmentNameList = new List <SelectListItem>();

            foreach (var Depart in db.Departments.ToList())
            {
                DepartmentNameList.Add(new SelectListItem()
                {
                    Text = Depart.DepartmentName.ToString(), Value = Depart.DepartmentName.ToString()
                });
            }
            ViewBag.DepartmentNameData = new SelectList(DepartmentNameList.Distinct(), "Value", "Text");

            return(View(roleMaster));
        }
コード例 #28
0
        public async System.Threading.Tasks.Task <IActionResult> Login([FromForm] LoginInfoModel model, [FromQuery] string callback)
        {
            //需要按照Session的方法重写
            var result = await signInManager.PasswordSignInAsync(model.Username, model.Password, false, false);

            if (!result.Succeeded)
            {
                return(NotFound());
            }
            await signInManager.SignInAsync(new IdentityUser(model.Username), false);

            return(Redirect(callback));
        }
コード例 #29
0
        public async System.Threading.Tasks.Task <ActionResult> Index()
        {
            User user = await userManager.GetUserByIdAsync(abpSession.UserId.Value);

            GetHeadImageOutput headImage = await _userAppservice.GetHeadImageAsync();

            var model = new LoginInfoModel
            {
                Name      = user.Name,
                HeadImage = headImage.HeadImagePath
            };

            return(View(model));
        }
        // GET: LoginInfoModels/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LoginInfoModel loginInfoModel = db.LoginInfoModels.Find(id);

            if (loginInfoModel == null)
            {
                return(HttpNotFound());
            }
            return(View(loginInfoModel));
        }