Beispiel #1
0
        /// <summary>
        /// 根据对象实体数据新增一个用户
        /// </summary>
        /// <param name="account">登录账号</param>
        /// <param name="user">用户对象</param>
        /// <returns>JsonResult</returns>
        public JsonResult AddUser(string account, SYS_User user)
        {
            const string action = "60D5BE64-0102-4189-A999-96EDAD3DA1B5";
            var          verify = new SessionVerify();

            // 用户注册,验证用户签名
            if (verify.Basis == null)
            {
                var session = verify.Session;
                var sign    = Hash(session.LoginName + user.LoginName + user.Password);
                if (sign != session.Signature)
                {
                    return(verify.Result.InvalidAuth());
                }

                if (!InsertData(user))
                {
                    return(verify.Result.DataBaseError());
                }

                // 返回用于验证的Key
                session.Signature = Hash(account.ToUpper() + user.Password);
                session           = SessionManage.GetSession(session);
                return(verify.Result.Created(CreateKey(session)));
            }

            // 管理员添加用户,验证管理员身份及鉴权
            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(InsertData(user) ? verify.Result.Created() : verify.Result.DataBaseError());
        }
Beispiel #2
0
        /// <summary>
        /// 会话合法性验证
        /// </summary>
        /// <returns>JsonResult</returns>
        public JsonResult Verification()
        {
            var verify = new SessionVerify();

            verify.Compare();
            return(verify.Result);
        }
Beispiel #3
0
        /// <summary>
        /// 根据传入参数获取编码方案预览
        /// </summary>
        /// <param name="name">编码方案名称</param>
        /// <param name="id">业务记录ID</param>
        /// <param name="mark">标识符</param>
        /// <returns>JsonResult</returns>
        public JsonResult GetCode(string name, string id, string mark)
        {
            var verify = new SessionVerify();

            if (!verify.Compare())
            {
                return(verify.Result);
            }

            Guid oid;

            if (!Guid.TryParse(id, out oid))
            {
                return(verify.Result.InvalidGuid());
            }

            var session = verify.Session;

            using (var context = new BaseEntities())
            {
                var scheme = context.SYS_Code_Scheme.SingleOrDefault(s => s.Name == name);
                if (scheme == null)
                {
                    General.LogToLogServer("001101", $"不存在名称为:【{name}】的编码方案", "编码规则", "生成编码");
                    return(verify.Result.ServiceUnavailable());
                }

                var code = GetCode(scheme.ID, null, session.UserId, oid, null, mark);
                return(code == null?verify.Result.DataBaseError() : verify.Result.Success(code.ToString()));
            }
        }
Beispiel #4
0
        /// <summary>
        /// 带鉴权的会话合法性验证
        /// </summary>
        /// <param name="action">需要鉴权的操作ID</param>
        /// <returns>JsonResult</returns>
        public JsonResult Authorization(string action)
        {
            var verify = new SessionVerify();

            verify.Compare(action);
            return(verify.Result);
        }
Beispiel #5
0
        /// <summary>
        /// 为指定的登录账号设置用户状态
        /// </summary>
        /// <param name="account">登录账号</param>
        /// <param name="validity">可用状态</param>
        /// <returns>JsonResult</returns>
        public JsonResult SetUserStatus(string account, bool validity)
        {
            var action = validity ? "369548E9-C8DB-439B-A604-4FDC07F3CCDD" : "0FA34D43-2C52-4968-BDDA-C9191D7FCE80";
            var verify = new SessionVerify();

            if (!verify.Compare(action, account))
            {
                return(verify.Result);
            }

            var reset = Update(verify.Guid, validity);

            if (!reset.HasValue)
            {
                return(verify.Result.NotFound());
            }

            if (!reset.Value)
            {
                return(verify.Result.DataBaseError());
            }

            SessionManage.SetValidity(account, validity);
            return(verify.Result);
        }
Beispiel #6
0
        /// <summary>
        /// 根据对象实体数据更新用户组信息
        /// </summary>
        /// <param name="group">用户组对象</param>
        /// <returns>JsonResult</returns>
        public JsonResult UpdateGroup(SYS_UserGroup group)
        {
            const string action = "6910FD14-5654-4CF0-B159-8FE1DF68619F";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(Update(group) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #7
0
        /// <summary>
        /// 根据对象实体数据更新组织机构信息
        /// </summary>
        /// <param name="id"></param>
        /// <param name="obj">组织节点对象</param>
        /// <param name="index">原序号</param>
        /// <returns>JsonResult</returns>
        public JsonResult UpdateOrg(string id, SYS_Organization obj, int index)
        {
            const string action = "542D5E28-8102-40C6-9C01-190D13DBF6C6";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(Update(obj) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #8
0
        /// <summary>
        /// 根据ID集合删除职位成员关系
        /// </summary>
        /// <param name="ids">职位成员关系ID集合</param>
        /// <returns>JsonResult</returns>
        public JsonResult RemoveOrgMember(List <Guid> ids)
        {
            const string action = "70AC8EEB-F920-468D-8C8F-2DBA049ADAE9";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(DeleteOrgMember(ids) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #9
0
        /// <summary>
        /// 根据ID删除组织机构节点
        /// </summary>
        /// <param name="id">节点ID</param>
        /// <returns>JsonResult</returns>
        public JsonResult RemoveOrg(string id)
        {
            const string action = "71803766-97FE-4E6E-82DB-D5C90D2B7004";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(DeleteOrg(verify.Guid) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #10
0
        /// <summary>
        /// 根据对象实体数据新增一条组织机构节点合并记录
        /// </summary>
        /// <param name="org">组织节点合并对象</param>
        /// <returns>JsonResult</returns>
        public JsonResult AddOrgMerger(SYS_OrgMerger org)
        {
            const string action = "DAE7F2C5-E379-4F74-8043-EB616D4A5F8B";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(InsertData(verify.Basis.UserId, org) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #11
0
        /// <summary>
        /// 根据对象实体数据更新组织机构表ParentId字段
        /// </summary>
        /// <param name="id"></param>
        /// <param name="org">组织节点对象</param>
        /// <returns>JsonResult</returns>
        public JsonResult SetOrgParent(string id, SYS_Organization org)
        {
            const string action = "DB1A4EA2-1B3E-41AD-91FA-A3945AB7D901";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(Update(org) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #12
0
        /// <summary>
        /// 根据ID集合删除用户组成员关系
        /// </summary>
        /// <param name="ids">户组成员关系ID集合</param>
        /// <returns>JsonResult</returns>
        public JsonResult RemoveMember(List <Guid> ids)
        {
            const string action = "686C115A-CE2E-4E84-8F25-B63C15AC173C";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            return(DeleteMember(ids) ? verify.Result : verify.Result.DataBaseError());
        }
Beispiel #13
0
        /// <summary>
        /// 获取当前在线状态的全部内部用户的Session
        /// </summary>
        /// <param name="type">用户类型</param>
        /// <returns>JsonResult</returns>
        public JsonResult GetSessions(string type)
        {
            const string action = "331BF752-CDB7-44DE-9631-DF2605BB527E";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            var list = SessionManage.GetSessions(Convert.ToInt32(type));

            return(list.Count > 0 ? verify.Result.Success(list) : verify.Result.NoContent());
        }
Beispiel #14
0
        /// <summary>
        /// 根据对象实体数据新增一个组织机构节点
        /// </summary>
        /// <param name="org">组织节点对象</param>
        /// <param name="index">原序号</param>
        /// <returns>JsonResult</returns>
        public JsonResult AddOrg(SYS_Organization org, int index)
        {
            const string action = "88AC97EF-52A3-4F7F-8121-4C311206535F";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            var result = verify.Result;

            return(InsertData(verify.Basis.UserId, org, index) ? result.Created() : result.DataBaseError());
        }
Beispiel #15
0
        /// <summary>
        /// 获取所有职位成员用户
        /// </summary>
        /// <returns>JsonResult</returns>
        public JsonResult GetOrgMembers()
        {
            const string action = "928C7527-A2F7-49A3-A548-12B3834D8822";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            var data = GetOrgMemberList();

            return(data.Rows.Count > 0 ? verify.Result.Success(Serialize(data)) : verify.Result.NoContent());
        }
Beispiel #16
0
        /// <summary>
        /// 获取全部用户组的所有成员信息
        /// </summary>
        /// <returns>JsonResult</returns>
        public JsonResult GetGroupMembers()
        {
            const string action = "B5992AA3-4AD3-4795-A641-2ED37AC6425C";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            var data = GetMemberList();

            return(data.Rows.Count > 0 ? verify.Result.Success(data) : verify.Result.NoContent());
        }
Beispiel #17
0
        /// <summary>
        /// 根据ID获取用户组对象实体
        /// </summary>
        /// <param name="id">用户组ID</param>
        /// <returns>JsonResult</returns>
        public JsonResult GetGroup(string id)
        {
            const string action = "6910FD14-5654-4CF0-B159-8FE1DF68619F";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            var data = GetGroup(verify.Guid);

            return(data == null?verify.Result.NoContent() : verify.Result.Success(data));
        }
Beispiel #18
0
        /// <summary>
        /// 根据对象实体数据新增一个用户组
        /// </summary>
        /// <param name="group">用户组对象</param>
        /// <returns>JsonResult</returns>
        public JsonResult AddGroup(SYS_UserGroup group)
        {
            const string action = "6E80210E-6F80-4FF7-8520-B602934D635C";
            var          verify = new SessionVerify();

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            var id = InsertData(verify.Basis.UserId, group);

            return(id == null?verify.Result.DataBaseError() : verify.Result.Created());
        }
Beispiel #19
0
        /// <summary>
        /// 设置指定用户的登录状态为离线
        /// </summary>
        /// <param name="account">用户账号</param>
        /// <returns>JsonResult</returns>
        public JsonResult UserSignOut(string account)
        {
            var action = "331BF752-CDB7-44DE-9631-DF2605BB527E";
            var verify = new SessionVerify();

            if (verify.Basis.LoginName == account)
            {
                action = null;
            }

            if (!verify.Compare(action))
            {
                return(verify.Result);
            }

            SessionManage.Offline(account);
            return(verify.Result);
        }
Beispiel #20
0
        /// <summary>
        /// 获取用户登录结果
        /// </summary>
        /// <returns>JsonResult</returns>
        public JsonResult UserSignIn(string account)
        {
            var verify = new SessionVerify();

            if (!verify.Compare(null, true))
            {
                return(verify.Result);
            }

            // 更新缓存信息
            verify.Basis.OpenId    = verify.Session.OpenId;
            verify.Basis.MachineId = verify.Session.MachineId;
            verify.Basis.DeptId    = verify.Session.DeptId;
            verify.Basis.DeptName  = verify.Session.DeptName;
            verify.Basis.Expired   = DateTime.Now.AddHours(Expired);

            // 返回用于验证的Key
            var key = CreateKey(verify.Basis);

            return(verify.Result.Success(key));
        }
Beispiel #21
0
        /// <summary>
        /// 更新指定用户Session的签名
        /// </summary>
        /// <param name="account">登录账号</param>
        /// <param name="password">新密码</param>
        /// <returns>JsonResult</returns>
        public JsonResult UpdateSignature(string account, string password)
        {
            const string action  = "26481E60-0917-49B4-BBAA-2265E71E7B3F";
            var          verify  = new SessionVerify();
            var          session = verify.Basis;

            if (!StringCompare(session.LoginName, account))
            {
                session = SessionManage.GetSession(account);
            }

            if (!verify.Compare(action, account))
            {
                return(verify.Result);
            }

            var reset = Update(account, password);

            if (!reset.HasValue)
            {
                return(verify.Result.NotFound());
            }

            if (!reset.Value)
            {
                return(verify.Result.DataBaseError());
            }

            if (session == null)
            {
                return(verify.Result);
            }

            session.Signature = Hash(session.LoginName.ToUpper() + password);
            return(verify.Result.Success(CreateKey(session)));
        }