Ejemplo n.º 1
0
        public ActionResult AbortOrg(string fullID)
        {
            AuthFO authBF = FormulaHelper.CreateFO <AuthFO>();

            authBF.AbortOrg(fullID);
            return(Json(""));
        }
Ejemplo n.º 2
0
        public JsonResult GetRetiredList(QueryBuilder qb)
        {
            if (qb.DefaultSort)
            {
                qb.SortField = "SortIndex,WorkNo";
                qb.SortOrder = "asc,asc";
            }

            string    sql       = "select * from S_A_User where IsDeleted='1'";
            SQLHelper sqlHelper = SQLHelper.CreateSqlHelper(ConnEnum.Base);
            DataTable dt        = sqlHelper.ExecuteDataTable(sql, qb);

            dt.Columns.Add("DeptNames");
            AuthFO authFO = FormulaHelper.CreateFO <AuthFO>();

            foreach (DataRow row in dt.Rows)
            {
                row["DeptNames"] = authFO.GetUserDeptNames(row["ID"].ToString());
            }

            GridData data = new GridData(dt);

            data.total = qb.TotolCount;
            return(Json(data));
        }
Ejemplo n.º 3
0
        public JsonResult SaveRoleRes(string roleID, string resIDs)
        {
            var s_A_Res = entities.Set <S_A_Res>().Where(x => x.Code == "Mobile" && x.ParentID == "").FirstOrDefault();

            if (s_A_Res != null)
            {
                entities.Set <S_A__RoleRes>().Delete(c => c.RoleID == roleID && (c.S_A_Res.FullID.StartsWith(Config.Constant.MenuRooID) || c.S_A_Res.FullID.StartsWith(s_A_Res.ID)));
            }
            else
            {
                entities.Set <S_A__RoleRes>().Delete(c => c.RoleID == roleID && (c.S_A_Res.FullID.StartsWith(Config.Constant.MenuRooID)));
            }

            foreach (string item in resIDs.Split(','))
            {
                if (item == "")
                {
                    continue;
                }
                S_A__RoleRes roleRes = new S_A__RoleRes();
                roleRes.RoleID = roleID;
                roleRes.ResID  = item;
                entities.Set <S_A__RoleRes>().Add(roleRes);
            }
            //记录安全审计日志
            string roleName = entities.Set <S_A_Role>().SingleOrDefault(c => c.ID == roleID).Name;
            string resNames = string.Join(",", entities.Set <S_A_Res>().Where(c => resIDs.Contains(c.ID)).Select(c => c.Name));

            AuthFO.Log("角色授权(菜单)", roleName, resNames);
            entities.SaveChanges();
            return(Json(""));
        }
Ejemplo n.º 4
0
        public override JsonResult DeleteNode()
        {
            AuthFO authBF = FormulaHelper.CreateFO <AuthFO>();

            authBF.DeleteOrg(Request["FullID"]);
            return(Json(""));
        }
Ejemplo n.º 5
0
        public JsonResult SaveRoleRule(string roleID, string ruleIDs)
        {
            entities.Set <S_A__RoleRes>().Delete(c => c.RoleID == roleID && c.S_A_Res.FullID.StartsWith(Config.Constant.RuleRootID));

            foreach (string item in ruleIDs.Split(','))
            {
                if (item == "")
                {
                    continue;
                }
                S_A__RoleRes roleRes = new S_A__RoleRes();
                roleRes.RoleID = roleID;
                roleRes.ResID  = item;
                entities.Set <S_A__RoleRes>().Add(roleRes);
            }

            //记录安全审计日志
            string roleName = entities.Set <S_A_Role>().SingleOrDefault(c => c.ID == roleID).Name;
            string resNames = string.Join(",", entities.Set <S_A_Res>().Where(c => ruleIDs.Contains(c.ID)).Select(c => c.Name));

            AuthFO.Log("角色授权(对象)", roleName, resNames);

            entities.SaveChanges();
            return(Json(""));
        }
Ejemplo n.º 6
0
        public JsonResult GetRetiredList(QueryBuilder qb)
        {
            if (qb.DefaultSort)
            {
                qb.SortField = "SortIndex,WorkNo";
                qb.SortOrder = "asc,asc";
            }

            string    sql       = @"select ID,GroupID,Code,Name,WorkNo,Sex,Description,InDate,OutDate,Phone,MobilePhone,Email,Address,SortIndex,LastLoginTime,LastLoginIP,LastSessionID,ErrorCount,ErrorTime,IsDeleted,DeleteTime,PrjID,PrjName,DeptID,DeptFullID,DeptName,RTX,ModifyTime
            from S_A_User where IsDeleted='1'";
            SQLHelper sqlHelper = SQLHelper.CreateSqlHelper(ConnEnum.Base);
            DataTable dt        = sqlHelper.ExecuteDataTable(sql, qb);

            dt.Columns.Add("DeptNames");
            AuthFO authFO = FormulaHelper.CreateFO <AuthFO>();

            foreach (DataRow row in dt.Rows)
            {
                row["DeptNames"] = authFO.GetUserDeptNames(row["ID"].ToString());
            }

            GridData data = new GridData(dt);

            data.total = qb.TotolCount;
            return(Json(data));
        }
Ejemplo n.º 7
0
        public void DealCompanyAuth(DataTable dt)
        {
            //如果开启了子公司权限
            //子公司权限
            if (System.Configuration.ConfigurationManager.AppSettings["CorpAuthEnabled"] == "True")
            {
                var authFO = new AuthFO();
                if (authFO.IsSepAdmin(FormulaHelper.UserID))
                {
                    var sqlHelper = SQLHelper.CreateSqlHelper(ConnEnum.Base);
                    var _dt       = sqlHelper.ExecuteDataTable(string.Format("select * from S_A_AuthCompany where CompanyID='{0}' ", FormulaHelper.GetUserInfo().UserCompanyID));

                    var ids = _dt.AsEnumerable().Select(c => c["ResID"].ToString());

                    var result = dt.AsEnumerable().Where(c => ids.Contains(c["ID"].ToString()));
                    if (result.Count() > 0)
                    {
                        //dt = result.CopyToDataTable();
                        for (int i = dt.Rows.Count - 1; i >= 0; i--)
                        {
                            if (ids.Contains(dt.Rows[i]["ID"].ToString()) == false)
                            {
                                dt.Rows.RemoveAt(i);
                            }
                        }
                    }
                    else
                    {
                        dt.Rows.Clear();
                    }
                }
            }
        }
Ejemplo n.º 8
0
        public ActionResult RecoverOrg(string nodeID)
        {
            AuthFO authBF = FormulaHelper.CreateFO <AuthFO>();

            authBF.RecoverOrg(nodeID);
            return(Json(""));
        }
Ejemplo n.º 9
0
        public JsonResult RetireUser(string UserIDs)
        {
            AuthFO authBF = FormulaHelper.CreateFO <AuthFO>();

            foreach (var id in UserIDs.Split(','))
            {
                authBF.RetireUser(id);
            }
            return(Json(""));
        }
Ejemplo n.º 10
0
        public override JsonResult GetModel(string id)
        {
            AuthFO authFO    = FormulaHelper.CreateFO <AuthFO>();
            var    entity    = GetEntity <S_A_User>(id);
            string deptNames = authFO.GetUserDeptNames(id);
            var    dic       = FormulaHelper.ModelToDic(entity);

            dic.Add("DeptNames", deptNames);
            return(Json(dic));
        }
Ejemplo n.º 11
0
        public JsonResult SaveUserRule(string userID, string checkedIDs, string denyAuthIDs)
        {
            var s_A_Res = entities.Set <S_A_Res>().Where(x => x.Code == "Mobile" && x.ParentID == "").FirstOrDefault();

            if (s_A_Res != null)
            {
                entities.Set <S_A__UserRes>().Delete(c => c.UserID == userID && (c.S_A_Res.FullID.StartsWith(Config.Constant.MenuRooID) || c.S_A_Res.FullID.StartsWith(s_A_Res.ID)));
            }
            else
            {
                entities.Set <S_A__UserRes>().Delete(c => c.UserID == userID && (c.S_A_Res.FullID.StartsWith(Config.Constant.MenuRooID)));
            }

            checkedIDs  = checkedIDs.Trim('"');
            denyAuthIDs = denyAuthIDs.Trim('"');

            foreach (string item in checkedIDs.Split(','))
            {
                if (item == "")
                {
                    continue;
                }
                S_A__UserRes userRes = new S_A__UserRes();
                userRes.UserID   = userID;
                userRes.ResID    = item;
                userRes.DenyAuth = "0";
                entities.Set <S_A__UserRes>().Add(userRes);
            }
            foreach (string item in denyAuthIDs.Split(','))
            {
                if (item == "")
                {
                    continue;
                }
                S_A__UserRes userRes = new S_A__UserRes();
                userRes.UserID   = userID;
                userRes.ResID    = item;
                userRes.DenyAuth = "1";
                entities.Set <S_A__UserRes>().Add(userRes);
            }

            //记录安全审计日志
            string UserName  = entities.Set <S_A_User>().SingleOrDefault(c => c.ID == userID).Name;
            string resNames  = string.Join(",", entities.Set <S_A_Res>().Where(c => checkedIDs.Contains(c.ID)).Select(c => c.Name));
            string denyNames = string.Join(",", entities.Set <S_A_Res>().Where(c => denyAuthIDs.Contains(c.ID)).Select(c => c.Name));

            AuthFO.Log("用户授权(对象)", UserName, resNames);
            AuthFO.Log("用户授权(对象-否定)", UserName, denyNames);

            entities.SaveChanges();
            return(Json(""));
        }
Ejemplo n.º 12
0
        public JsonResult Reset(string UserIDs)
        {
            var arr   = UserIDs.Split(',');
            var users = entities.Set <S_A_User>().Where(c => arr.Contains(c.ID)).ToList();

            foreach (var user in users)
            {
                user.Password = FormsAuthentication.HashPasswordForStoringInConfigFile(string.Format("{0}{1}", user.Code.Trim().ToLower(), Request["pwd"]), "SHA1");
            }
            //记录安全审计日志
            AuthFO.Log("修改密码", string.Join(",", users.Select(c => c.Name)), "********");
            entities.SaveChanges();
            return(Json(""));
        }
Ejemplo n.º 13
0
        public JsonResult SetUserRelation()
        {
            //记录安全审计日志
            string resFullID = Request["NodeFullID"];

            string[] orgIDs    = GetValues(Request["RelationData"], "ID").Distinct().ToArray();
            string   menuName  = entities.Set <S_A_Res>().SingleOrDefault(c => c.FullID == resFullID).Name;
            string   userNames = string.Join(",", entities.Set <S_A_User>().Where(c => orgIDs.Contains(c.ID)).Select(c => c.Name));
            string   opName    = resFullID.StartsWith(Config.Constant.MenuRooID) ? "菜单授权(用户)" : "对象授权(用户)";

            AuthFO.Log(opName, menuName, userNames);

            return(base.JsonAppendRelation <S_A_Res, S_A__UserRes, S_A_User>(Request["NodeFullID"], Request["RelationData"], Request["FullRelation"]));
        }
Ejemplo n.º 14
0
        public void DealCompanyAuth(DataTable dt)
        {
            //去掉分级授权菜单
            for (int i = dt.Rows.Count - 1; i >= 0; i--)
            {
                if (dt.Rows[i]["FullID"].ToString().StartsWith(Config.Constant.SystemMenuCompanyFullID))
                {
                    dt.Rows.RemoveAt(i);
                }
            }
            //如果开启了子公司权限
            //子公司权限
            if (System.Configuration.ConfigurationManager.AppSettings["CorpAuthEnabled"] == "True")
            {
                var authFO = new AuthFO();
                if (authFO.IsSepAdmin(FormulaHelper.UserID))
                {
                    var sqlHelper = SQLHelper.CreateSqlHelper(ConnEnum.Base);

                    //DealCompanyAuth多个地方公用,因此有不同取值
                    var corpID = Request["CorpID"];
                    if (string.IsNullOrEmpty(Request["CorpID"]))
                    {
                        corpID = FormulaHelper.GetUserInfo().AdminCompanyID;
                    }

                    var _dt = sqlHelper.ExecuteDataTable(string.Format("select * from S_A_AuthCompany where CompanyID='{0}' ", corpID));

                    var ids = _dt.AsEnumerable().Select(c => c["ResID"].ToString());

                    var result = dt.AsEnumerable().Where(c => ids.Contains(c["ID"].ToString()));
                    if (result.Count() > 0)
                    {
                        //dt = result.CopyToDataTable();
                        for (int i = dt.Rows.Count - 1; i >= 0; i--)
                        {
                            if (ids.Contains(dt.Rows[i]["ID"].ToString()) == false)
                            {
                                dt.Rows.RemoveAt(i);
                            }
                        }
                    }
                    else
                    {
                        dt.Rows.Clear();
                    }
                }
            }
        }
Ejemplo n.º 15
0
        public override JsonResult DeleteRelation()
        {
            string relationData = Request["RelationData"];

            List <Dictionary <string, object> > list = JsonHelper.ToObject <List <Dictionary <string, object> > >(relationData);

            //list中只有一条记录
            if (list[0]["TypeCode"].ToString() == "Org")
            {
                //记录安全审计日志
                string   resFullID = Request["NodeFullID"];
                string[] orgIDs    = GetValues(Request["RelationData"], "ID").Distinct().ToArray();
                string   menuName  = entities.Set <S_A_Res>().SingleOrDefault(c => c.FullID == resFullID).Name;
                string   orgNames  = string.Join(",", entities.Set <S_A_Org>().Where(c => orgIDs.Contains(c.ID)).Select(c => c.Name));
                string   opName    = resFullID.StartsWith(Config.Constant.MenuRooID) ? "删除菜单授权(组织)" : "删除对象授权(组织)";
                AuthFO.Log(opName, menuName, orgNames);

                return(base.JsonDeleteRelation <S_A_Res, S_A__OrgRes, S_A_Org>(Request["NodeFullID"], relationData, "True"));
            }
            else if (list[0]["TypeCode"].ToString() == "Role")
            {
                //记录安全审计日志
                string   resFullID = Request["NodeFullID"];
                string[] roleIDs   = GetValues(Request["RelationData"], "ID").Distinct().ToArray();
                string   menuName  = entities.Set <S_A_Res>().SingleOrDefault(c => c.FullID == resFullID).Name;
                string   RoleNames = string.Join(",", entities.Set <S_A_Role>().Where(c => roleIDs.Contains(c.ID)).Select(c => c.Name));
                string   opName    = resFullID.StartsWith(Config.Constant.MenuRooID) ? "删除菜单授权(角色)" : "删除对象授权(角色)";
                AuthFO.Log(opName, menuName, RoleNames);

                return(base.JsonDeleteRelation <S_A_Res, S_A__RoleRes, S_A_Role>(Request["NodeFullID"], relationData, "True"));
            }
            else
            {
                //记录安全审计日志
                string   resFullID = Request["NodeFullID"];
                string[] userIDs   = GetValues(Request["RelationData"], "ID").Distinct().ToArray();
                string   menuName  = entities.Set <S_A_Res>().SingleOrDefault(c => c.FullID == resFullID).Name;
                string   userNames = string.Join(",", entities.Set <S_A_User>().Where(c => userIDs.Contains(c.ID)).Select(c => c.Name));
                string   opName    = resFullID.StartsWith(Config.Constant.MenuRooID) ? "删除菜单授权(用户)" : "删除对象授权(用户)";
                AuthFO.Log(opName, menuName, userNames);

                return(base.JsonDeleteRelation <S_A_Res, S_A__UserRes, S_A_User>(Request["NodeFullID"], relationData, "True"));
            }
        }
Ejemplo n.º 16
0
        public JsonResult ResetAllUserPwd(string pwd)
        {
            var userList = entities.Set <S_A_User>().OrderBy(c => c.ID).Take(1000);

            int index = 1;

            while (userList.Count() > 0)
            {
                foreach (var user in userList)
                {
                    user.Password = FormsAuthentication.HashPasswordForStoringInConfigFile(string.Format("{0}{1}", user.Code.Trim().ToLower(), pwd), "SHA1");
                }
                entities.SaveChanges();
                userList = entities.Set <S_A_User>().OrderBy(c => c.ID).Skip(index * 1000).Take(1000);
                index++;
            }
            //记录安全审计日志
            AuthFO.Log("修改密码", "全部用户", "********");
            return(Json(""));
        }
Ejemplo n.º 17
0
        public override JsonResult GetList(QueryBuilder qb)
        {
            if (qb.DefaultSort)
            {
                qb.SortField = "SortIndex,WorkNo";
                qb.SortOrder = "asc,asc";
            }

            if (!string.IsNullOrEmpty(Request["CorpID"]))
            {
                qb.Add("CorpID", QueryMethod.In, Request["CorpID"]);
            }


            qb.Fields = "distinct ID,Code,Name,WorkNo,Sex,InDate,OutDate,Phone,MobilePhone,Email,Address,SortIndex,IsDeleted,PrjID,PrjName,DeptID,DeptFullID,DeptName,RTX,ModifyTime,ErrorCount,CorpID";

            string    sql       = @"
SELECT S_A_User.ID,S_A_User.Code,S_A_User.Name,WorkNo,Sex,InDate,OutDate,Phone,MobilePhone,Email,Address,S_A_User.SortIndex,S_A_User.IsDeleted,PrjID,PrjName,DeptID,DeptFullID,DeptName,RTX,ModifyTime,FullID,S_A_User.ErrorCount,CorpID
 from S_A_User
join S_A__OrgUser on UserID=S_A_User.ID
join S_A_Org on S_A_Org.ID=OrgID
where S_A_User.IsDeleted='0' or S_A_User.IsDeleted is null";
            SQLHelper sqlHelper = SQLHelper.CreateSqlHelper(ConnEnum.Base);
            DataTable dt        = sqlHelper.ExecuteDataTable(sql, qb);

            dt.Columns.Add("DeptNames");
            AuthFO authFO = FormulaHelper.CreateFO <AuthFO>();

            foreach (DataRow row in dt.Rows)
            {
                row["DeptNames"] = authFO.GetUserDeptNames(row["ID"].ToString());
            }

            GridData data = new GridData(dt);

            data.total = qb.TotolCount;
            return(Json(data));
        }
Ejemplo n.º 18
0
        public JsonResult SaveOrgRes(string orgID, string resIDs)
        {
            entities.Set <S_A__OrgRes>().Delete(c => c.OrgID == orgID && c.S_A_Res.FullID.StartsWith(Config.Constant.MenuRooID));

            foreach (string item in resIDs.Split(','))
            {
                if (item == "")
                {
                    continue;
                }
                S_A__OrgRes orgRes = new S_A__OrgRes();
                orgRes.OrgID = orgID;
                orgRes.ResID = item;
                entities.Set <S_A__OrgRes>().Add(orgRes);
            }
            //记录安全审计日志
            string orgName  = entities.Set <S_A_Org>().SingleOrDefault(c => c.ID == orgID).Name;
            string resNames = string.Join(",", entities.Set <S_A_Res>().Where(c => resIDs.Contains(c.ID)).Select(c => c.Name));

            AuthFO.Log("组织授权(菜单)", orgName, resNames);
            entities.SaveChanges();
            return(Json(""));
        }
Ejemplo n.º 19
0
        public JsonResult GetUserRes(string nodeFullID)
        {
            AuthFO authBF = FormulaHelper.CreateFO <AuthFO>();

            return(Json(authBF.GetResByUserID(nodeFullID)));
        }