Beispiel #1
0
        public void DeleteList(string ids)
        {
            string newids = ids.Substring(0, ids.Length - 1);

            string[] adtionids = newids.Split('|');
            using (TransactionScope scope = new TransactionScope())
            {
                List <int> result = new List <string>(adtionids).ConvertAll(id => int.Parse(id));
                this.Remove(new DirectSpecification <AdminAction>(aa => result.Contains(aa.AAID)));

                _adminLogService.Log("批量删除action", "删除ID:" + ids);
                scope.Complete();
            }
        }
Beispiel #2
0
        public void AddRole(AdminRole arl, string moduleids)
        {
            //角色唯一性判断
            bool isexists = base.Exists(new DirectSpecification <AdminRole>(a => a.ARName.Trim().ToLower() == arl.ARName.Trim().ToLower()));

            if (isexists)
            {
                throw new InvalidOperationException("角色名已存在!");
            }
            using (TransactionScope scope = new TransactionScope())
            {
                string   newids = moduleids.Substring(0, moduleids.Length - 1);
                string[] ids    = newids.Split('|');
                //添加角色
                base.Add(arl);
                //添加角色-功能色关联
                _adminR_MService.AddList(ids, arl.ARID);
                _adminLogService.Log("添加角色", "角色名称:" + arl.ARName + " || 角色功能ids:" + moduleids + " || 描述:" + arl.Description);

                scope.Complete();
            }
        }
Beispiel #3
0
 public void Enable(string ids, bool isEnable)
 {
     using (TransactionScope scope = new TransactionScope())
     {
         string   newids    = ids.Substring(0, ids.Length - 1);
         string[] moduleids = newids.Split('|');
         foreach (var id in moduleids)
         {
             _repository.Enable(int.Parse(id), isEnable);
         }
         base.unitOfWork.Commit();
         string mes = "功能模块";
         if (isEnable)
         {
             mes += "启用";
         }
         else
         {
             mes += "禁用";
         }
         _adminLogService.Log(mes, "操作ID:" + ids);
         scope.Complete();
     }
 }
Beispiel #4
0
        public void AddSysAdmin(SystemAdmin admin, string roleids)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                string   newids = roleids.Substring(0, roleids.Length - 1);
                string[] ids    = newids.Split('|');

                _sysadminDomainService.AddSysAdmin(admin, ids);
                unitOfWork.Commit();
                _adminLogService.Log("添加系统管理员", "管理员姓名:" + admin.SANickName + " || 帐号:" + admin.SAName + " || 性别:" + admin.SASex + " || 注册时间:" + admin.RegTime + " || 角色id" + roleids);
                scope.Complete();
            }
        }
Beispiel #5
0
        //[HandleErrorWithLog4net(HandleType = ErrorHandleType.ResponseWrite, ResponseMsg = "网络问题,请稍后再试!")]
        //[ValidateAntiForgeryToken(Salt = SystemHelper.AntiForgeryTokenSalt)]
        public ActionResult Login(Login model)
        {
            var srm = new ShowResultModel();

            if (ModelState.IsValid)
            {
                SystemAdmin user = _systemAdminService.GetByNameAndPassword(model.SAName, model.SAPwd);

                try
                {
                    if (user == null)
                    {
                        throw new InvalidOperationException("用户名或密码错误!");
                    }
                    if (!user.IsEnable)
                    {
                        throw new InvalidOperationException("该账户已被禁用");
                    }

                    srm.IsSuccess = true;

                    var userModules = _systemAdminService.GetsysAdminModule(user);
                    // user data:
                    var userDate = ";";
                    if (userModules != null && userModules.Any())
                    {
                        var ulist =
                            userModules.Where(x => !string.IsNullOrEmpty(x.FormRoleName))
                            .Select(x => x.FormRoleName)
                            .Distinct()
                            .ToArray();
                        if (ulist.Any())
                        {
                            userDate = string.Join(",", ulist) + ";";
                        }
                    }

                    FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
                        1,
                        user.SAName, //user.Name
                        DateTime.Now,
                        DateTime.Now.Add(FormsAuthentication.Timeout),
                        false, //model.RememberMe,
                        // user data:
                        userDate
                        //new string[] { "admin", "corp" }.Aggregate((i, j) => i + "," + j) + ";"
                        + IPHelper.getIPAddr() + ";"
                        + user.SAID + ";"
                        + user.SANickName
                        );

                    HttpCookie cookie = new HttpCookie(
                        FormsAuthentication.FormsCookieName,
                        FormsAuthentication.Encrypt(ticket));
                    cookie.HttpOnly = true; //不能通过客户端脚本访问cookie
                    Response.Cookies.Add(cookie);

                    //登录成功更新访问时间
                    _systemAdminService.UpdateLogonInfo(user);

                    _adminLogService.Log(user, "管理员登录", "帐号:" + user.SAName + " || 姓名:" + user.SANickName + " || 上次访问IP:" + user.LastIP + " || 上次访问时间:" + user.LastTime + " || 当前访问IP:" + user.CurrentIP + " || 当前访问时间:" + user.CurrentTime + " || 登录次数:" + user.LoginTimes);
                }
                catch (InvalidOperationException e)
                {
                    srm.TipMsg = e.Message;
                }
                catch (Exception)
                {
                    srm.TipMsg = "网络错误,请稍后再试!";
                }
                finally
                {
                    _adminCacheService.Remove(AdminCacheService.SysAdmin_Current_prefix + user.SAName);
                    _adminCacheService.Add(AdminCacheService.SysAdmin_Current_prefix + user.SAName, user, TimeSpan.FromHours(2));
                }
            }
            else
            {
                srm.TipMsg = "数据有效性验证失败!";
            }
            return(Json(srm));
        }