Ejemplo n.º 1
0
        ///// <summary>
        ///// 选择人员
        ///// </summary>
        ///// <returns></returns>
        //public IActionResult OrgUserSelectPage()
        //{
        //    logcache.AddServiceLogForView(CurrentMenuID, "选择人员浏览", "");
        //    return View();
        //}
        ///// <summary>
        ///// 密码初始化表单
        ///// </summary>
        ///// <returns></returns>
        //public IActionResult InitializePassWord()
        //{
        //    logcache.AddServiceLogForView(CurrentMenuID, "密码初始化浏览", "");
        //    return View();
        //}
        ///// <summary>
        ///// 修改密码页面
        ///// </summary>
        ///// <param name="id"></param>
        ///// <returns></returns>
        //public IActionResult ModifyPassWord(String id)
        //{
        //    logcache.AddServiceLogForView(CurrentMenuID, "修改密码浏览", "");
        //    return View();
        //}
        //#endregion

        //#region 用户的增、删、改、查
        /// <summary>
        /// 添加或删除
        /// </summary>
        /// <returns></returns>
        public void AddOrUpdate(Power_User data)
        {
            Power_User userModel = new Power_User();

            //判断前端传过来的对象中的id是否为空
            if (data.ID == Guid.Empty)
            {
                try
                {
                    userModel = data;
                    //userModel.U_AreaCode = ManageProvider.Current.U_AreaCode;
                    userModel.PassWord  = "******"; //MD5Helper.MD5Encrypt64("123456"); //对密码进行MD5加密
                    userModel.Isinitial = true;
                    //userModel.U_IsSystem = false;
                    //userModel.U_IsValid = true;
                    userModel.IsSuperUser  = false;
                    userModel.IsTrilateral = false;
                    //userModel.U_LastModifiedDate = DateTime.Now;



                    _userRepository.Add(userModel);
                    //人员表插入数据
                    //userModel = _userbll.Insert(userModel);
                    //记录日志
                    //logcache.AddServiceLogForAdd<Power_UserView>(userModel, CurrentMenuID, "新增人员", "Power_User");
                }
                catch (Exception ex)
                {
                    //logcache.AddServiceLogForAdd<Power_UserView>(userModel, CurrentMenuID, "新增人员异常", "Power_User", Request.Path, ex.Message, ex.StackTrace);
                }
            }
            else
            {
                userModel = _userRepository.GetById(data.ID);
                //userModel = _db.Power_User.Find(data.ID);
                //userModel = _userbll.GetViewModel(data.ID.ToString());
                //Power_UserView oldUserModel = ObjectClone.ToClone<Power_UserView>(userModel);

                try
                {
                    userModel.Cn         = data.Cn;
                    userModel.UID        = data.UID;
                    userModel.StationsID = data.StationsID;
                    //userModel.OrgID = data.OrgID;
                    userModel.Status = data.Status;

                    //修改用户表记录
                    _db.Entry(userModel).State = EntityState.Modified;
                    _db.SaveChanges();
                    //userModel = _userbll.Update(userModel);
                    //记录日志
                    //logcache.AddServiceLogForUpdate(userModel, oldUserModel, CurrentMenuID, "更新用户", "Power_User");
                }
                catch (Exception ex)
                {
                    //logcache.AddServiceLogForUpdate(userModel, oldUserModel, CurrentMenuID, "更新用户异常", "Power_User", Request.Path, ex.Message, ex.StackTrace);
                }
            }
        }
Ejemplo n.º 2
0
        private void InitializeNetCoreBBSDatabase(IServiceProvider serviceProvider)
        {
            using (var serviceScope = serviceProvider.GetRequiredService <IServiceScopeFactory>().CreateScope())
            {
                var db = serviceScope.ServiceProvider.GetService <DataContext>();

                if (db.Database != null && db.Database.EnsureCreated())
                {
                    Power_User user = new Power_User();
                    user.ID          = Guid.NewGuid();
                    user.IsSuperUser = true;
                    user.Cn          = "超级管理员";
                    user.PassWord    = MD5Helper.MD5Encrypt32("123456");
                    user.UID         = "Admin";
                    user.U_AreaCode  = "A001";
                    user.U_IsValid   = true;
                    db.Power_User.Add(user);
                    db.SaveChanges();

                    Power_Area area = new Power_Area();
                    area.Code     = "A001";
                    area.ID       = Guid.NewGuid();
                    area.IsEnable = true;
                    area.Level    = 1;
                    area.ParentID = Guid.Empty;
                    area.Title    = "北京总公司";
                    db.Power_Area.Add(area);
                    db.SaveChanges();


                    Power_Menu menu1 = new Power_Menu();
                    menu1.ID           = Guid.NewGuid();
                    menu1.Code         = "M001";
                    menu1.IsEnable     = true;
                    menu1.IsShow       = true;
                    menu1.Name         = "系统管理";
                    menu1.U_CreateDate = DateTime.Now;
                    menu1.U_IsSystem   = true;
                    menu1.U_IsValid    = true;
                    db.Power_Menu.Add(menu1);
                    db.SaveChanges();

                    Power_Menu menu2 = new Power_Menu();
                    menu2.ID           = Guid.NewGuid();
                    menu2.Code         = "M002";
                    menu2.IsEnable     = true;
                    menu2.IsShow       = true;
                    menu2.Name         = "区域管理";
                    menu2.U_CreateDate = DateTime.Now;
                    menu2.U_IsSystem   = true;
                    menu2.U_IsValid    = true;
                    menu2.Path         = "/SystemManage/Area/Index";
                    menu2.ParentID     = menu1.ID;
                    db.Power_Menu.Add(menu2);
                    db.SaveChanges();

                    Power_Menu menu3 = new Power_Menu();
                    menu3.ID           = Guid.NewGuid();
                    menu3.Code         = "M003";
                    menu3.IsEnable     = true;
                    menu3.IsShow       = true;
                    menu3.Name         = "菜单管理";
                    menu3.U_CreateDate = DateTime.Now;
                    menu3.U_IsSystem   = true;
                    menu3.U_IsValid    = true;
                    menu3.Path         = "/SystemManage/Menu/Index";
                    menu3.ParentID     = menu1.ID;
                    db.Power_Menu.Add(menu3);
                    db.SaveChanges();
                }
                else
                {
                    //db.Database.Migrate();
                }
            }
        }
Ejemplo n.º 3
0
        public String LoginValidate(string uid, string password, string areaCode)
        {
            if (string.IsNullOrEmpty(uid) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(areaCode))
            {
                return(GlobalStatus.GetStatus("HX06"));
            }


            //List<ParameterJson> list = new List<ParameterJson>();
            //if (uid == "InforCenterAdmin")
            //{
            //    list.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1"));
            //    list.Add(new ParameterJson("UID", ConditionOperate.Equal.ToString(), uid));
            //    list.Add(new ParameterJson("PassWord", ConditionOperate.Equal.ToString(), MD5Helper.MD5Encrypt64(password)));
            //    areaCode = "0CFD858E";
            //    list.Add(new ParameterJson("U_AreaCode", ConditionOperate.Equal.ToString(), areaCode));
            //}
            //else
            //{
            //    list.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1"));
            //    list.Add(new ParameterJson("UID", ConditionOperate.Equal.ToString(), uid));
            //    list.Add(new ParameterJson("PassWord", ConditionOperate.Equal.ToString(), MD5Helper.MD5Encrypt64(password)));
            //    list.Add(new ParameterJson("U_AreaCode", ConditionOperate.Equal.ToString(), areaCode));
            //}
            //string sCondition = JsonConvert.SerializeObject(list);
            //#endregion

            string     pwd   = MD5Helper.MD5Encrypt32(password);
            Power_User model = _userRepository.List(x => x.U_IsValid == true && x.UID == uid && x.PassWord == pwd && x.U_AreaCode == areaCode).FirstOrDefault();


            //用户、密码、区域验证不通过,不跳转页面
            if (model == null)
            {
                return(GlobalStatus.GetStatus("HX02"));
            }

            //验证 账号同时只能一个在线
            //bool IsOpenOnlyUser = _op.IsOpenOnlyUser;
            //if (IsOpenOnlyUser)
            //{
            //    bool flag = CacheHelper.HashExists((int)RedisDB.Power, "RegisterUCRelation", model.ID.ToString());
            //    if (flag)
            //    {
            //        return GlobalStatus.GetStatus("HX03");
            //    }
            //}


            //List<ParameterJson> listparam = new List<ParameterJson>();
            //listparam.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1"));
            //listparam.Add(new ParameterJson("UserId", ConditionOperate.Equal.ToString(), model.ID.ToString()));
            //string sCondition1 = JsonConvert.SerializeObject(listparam);
            //#endregion
            //string strRoleMenu = _userRolebll.GetListJson(sCondition1);
            //string roleIds = string.Empty;
            //if (!string.IsNullOrEmpty(strRoleMenu))
            //{
            //    List<Power_RoleMenuView> aaa = JsonConvert.DeserializeObject<List<Power_RoleMenuView>>(strRoleMenu);
            //    var ccc = aaa.Select(x => x.RoleID.ToString()).Distinct().ToList();
            //    roleIds = string.Join(",", ccc.ToArray());
            //}


            //Guid? orgId = Guid.Empty;
            //#region 条件组合
            //List<ParameterJson> listparam1 = new List<ParameterJson>();
            //listparam1.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1"));
            //listparam1.Add(new ParameterJson("UserId", ConditionOperate.Equal.ToString(), model.ID.ToString()));
            //string sCondition2 = JsonConvert.SerializeObject(listparam1);
            //#endregion
            //string strjson = _userorgbll.GetListJson(sCondition2);
            //if (strjson != null && strjson != "[]")
            //{
            //    List<Power_UserOrgView> userorglist = JsonConvert.DeserializeObject<List<Power_UserOrgView>>(strjson);
            //    if (userorglist.Count > 0)
            //    {
            //        Power_UserOrgView entity = userorglist.FirstOrDefault();
            //        orgId = entity.OrgID;
            //    }
            //}
            //else
            //{
            //    return GlobalStatus.GetStatus("HX04");
            //}


            MessageUser mu = new MessageUser();

            mu.ID         = model.ID;
            mu.Cn         = model.Cn;
            mu.IPAddress  = CommonHelper.GetIP(); //???
            mu.Isinitial  = true;
            mu.IsSystem   = true;
            mu.LogTime    = DateTime.Now;
            mu.UID        = model.UID;
            mu.U_AreaCode = model.U_AreaCode;
            //mu.RoleIds = roleIds;
            //mu.OrgId = orgId;


            //HttpContext.Current.Session.Set("CurrentUserId", ByteConvertHelper.Object2Bytes(mu.ID));
            //HttpContext.Current.Session.Set("CurrentAreaCode", ByteConvertHelper.Object2Bytes(mu.U_AreaCode));

            ManageProvider.UserId  = mu.ID.ToString();
            ManageProvider.Current = mu;


            //读取用户权限
            //List<MenuPower> list11 = menuCache.GetAllMenuByRoleIds(roleIds, areaCode);
            //if (list11 == null || list11.Count == 0)
            //{
            //    return GlobalStatus.GetStatus("HX05");
            //}
            //ManageProvider.CurrentMenuList = new LoginUserMenuPower() { UserId = mu.ID.ToString(), menuList = list11 };

            //使用Form验证方式
            List <Claim> claims = new List <Claim>();

            claims.Add(new Claim(ClaimTypes.Name, model.Cn, ClaimValueTypes.String, model.ID.ToString()));
            var userIdentity = new ClaimsIdentity("管理员"); //角色

            userIdentity.AddClaims(claims);
            var userPrincipal = new ClaimsPrincipal(userIdentity);


            HttpContext.SignInAsync(CookieAuthenInfo.WebCookieInstance, userPrincipal,
                                    new Microsoft.AspNetCore.Authentication.AuthenticationProperties
            {
                ExpiresUtc   = DateTime.UtcNow.AddHours(12),
                IsPersistent = true,
                AllowRefresh = false
            });

            //SignalR中缓存登录状态
            //GlobalStatus.connection.Start().ContinueWith(task =>
            //{
            //    if (!task.IsFaulted)
            //    {
            //        GlobalStatus.myHub.Invoke("Register", mu.ID, mu.U_AreaCode);//必須與 MyHub 的 Register 方法名稱一樣
            //    }
            //    else
            //    {
            //        throw new Exception("连线失败!");
            //    }
            //}).Wait();


            //记录日志
            //string message = string.Format("{0}({1})登陆系统!", mu.Cn, mu.UID);
            //List<ParameterJson> areaList = new List<ParameterJson>();
            //areaList.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1"));
            //areaList.Add(new ParameterJson("Code", ConditionOperate.Equal.ToString(), areaCode));
            //string areaCondition = JsonConvert.SerializeObject(areaList);
            //strJson = _areaBll.GetListJson(areaCondition);
            //Power_AreaView areaModel = !string.IsNullOrEmpty(strJson) ? JsonConvert.DeserializeObject<List<Power_AreaView>>(strJson).FirstOrDefault() : null;
            //if (areaModel != null)
            //{
            //    CookieOptions options = new CookieOptions();
            //    options.Expires = DateTime.Now.AddYears(6);
            //    HttpContext.Response.Cookies.Append("loginAreaCode", areaCode, options);
            //    HttpContext.Response.Cookies.Append("loginAreaName", areaModel.Title, options);
            //}
            //logcache.AddSystemLog(Guid.Empty, message, true, "", "");
            return(GlobalStatus.GetStatus("HX00"));
        }