示例#1
0
文件: UserBL.cs 项目: zero1036/TGNet
        /// <summary>
        /// 验证BC端登陆用户信息
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="passWord"></param>
        public bool VerifyBCLoginUser(string userId, string passWord)
        {
            //先通过session,查出用户ID
            string pUserID = SysCurUser.GetCurUserID();

            LogSwHelper.Sing.Info("BC验证,从Session中获取userid:" + pUserID);
            if (!string.IsNullOrEmpty(pUserID))
            {
                CurUserM pUser = SysCurUser.GetCurUser();
                if (pUser != null && pUser.UserId == userId)
                {
                    var pwdCode = Emperor.UtilityLib.CyberUtils.Encrypt("Aes", 256, passWord, "TW" + userId);
                    if (pUser.Password == pwdCode)
                    {
                        return(true);
                    }
                }
            }
            else
            {
                //适用于登陆验证,通过用户ID获取当前用户
                UserTM pUser = GetUserByID(userId, _da.GetUserByUserID);
                if (pUser != null && pUser.UserId == userId)
                {
                    var pwdCode = Emperor.UtilityLib.CyberUtils.Encrypt("Aes", 256, passWord, "TW" + userId);
                    if (pUser.Password == pwdCode)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
示例#2
0
文件: UserBL.cs 项目: zero1036/TGNet
        /// <summary>
        /// 验证WA端登陆用户信息
        /// </summary>
        /// <param name="code"></param>
        /// <param name="agentid"></param>
        public void VerifyWALoginUser(string code, string agentid)
        {
            //先通过session,查出用户ID
            string pUserID = SysCurUser.GetCurUserID();

            LogSwHelper.Sing.Info("WA验证,从Session中获取userid:" + pUserID);
            if (string.IsNullOrEmpty(pUserID))
            {
                LogSwHelper.Sing.Info("获取code:" + code);
                LogSwHelper.Sing.Info("获取agentid:" + agentid);
                int iagentid = 0;
                if (int.TryParse(agentid, out iagentid))
                {
                    var pWeixinid = GetWeixinidByAPI(code, iagentid);
                    if (string.IsNullOrEmpty(pWeixinid))
                    {
                        throw new Exception();
                    }
                    LogSwHelper.Sing.Info("从API中获取微信号:" + pWeixinid);
                    //适用于登陆验证,通过微信号获取当前用户
                    UserTM pUser = GetUserByID(pWeixinid, _da.GetUserByWeixinid);
                    //WA端验证的是微信号
                    if (pUser == null || pUser.WeixinId != pWeixinid)
                    {
                        throw new Exception();
                    }

                    LogSwHelper.Sing.Info("从API中获取userid:" + pUser.UserId);
                }
                else
                {
                    throw new Exception();
                }
            }
        }
示例#3
0
        /// <summary>
        /// 获取当前用户所属租户ID
        /// </summary>
        /// <returns></returns>
        protected int GetCurTid()
        {
            var pCurSysUser = SysCurUser.GetCurUser();

            if (pCurSysUser != null)
            {
                return(pCurSysUser.Tid);
            }
            return(-1);
        }
示例#4
0
文件: TagDA.cs 项目: zero1036/TGNet
        /// <summary>
        /// 获取标签
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public DataTable GetTags()
        {
            var tid = SysCurUser.GetCurUser().Tid;

            if (tid == -1)
            {
                return(null);
            }

            DataTable dt = _pADO.Query(SqlScriptHelper.Tag.SEL_TAGS, new string[] { "?tid" }, new object[] { tid }, string.Empty);

            return(dt);
        }
示例#5
0
        /// <summary>
        /// 获取租户所有部门对应用户关系
        /// </summary>
        /// <returns></returns>
        public DataTable GetDep2UserRel()
        {
            var tid = SysCurUser.GetCurUser().Tid;

            if (tid == -1)
            {
                return(null);
            }

            DataTable dt = _pADO.Query(SqlScriptHelper.Department.SEL_DEP2USERREL, new string[] { "?tid" }, new object[] { tid }, string.Empty);

            return(dt);
        }
示例#6
0
        /// <summary>
        /// 获取用户
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public DataTable GetUsers()
        {
            var tid = SysCurUser.GetCurUser().Tid;

            if (tid == -1)
            {
                return(null);
            }
            var tbNameFull = SysCurUser.GetCurUser().TenantRoutes.Single(t => t.TbName == SqlScriptHelper.T_USER).TbNameFull;

            var       sFIlter = string.Format(SqlScriptHelper.SEL_SINGLEUSER, tbNameFull, "1=1");
            DataTable dt      = _pADO.Query(sFIlter, new string[] { "?tid" }, new object[] { tid }, string.Empty);

            return(dt);
        }
示例#7
0
文件: UserBL.cs 项目: zero1036/TGNet
        /// <summary>
        /// 适用于登陆验证,通过用户ID获取当前用户
        /// </summary>
        /// <param name="UserID"></param>
        /// <returns></returns>
        private CurUserM GetUserByID(string pID, Func <string, DataTable> pFunc)
        {
            //通过UserID获取用户 或 通过微信号获取用户,根据传入Func而定
            DataTable dt = pFunc.Invoke(pID);

            if (dt.IsNull())
            {
                return(null);
            }
            var pUsers = CommonFunction.GetEntitiesFromDataTable <CurUserM>(dt);
            var pUser  = pUsers[0];
            //获取租户路由信息
            var dttr = _da.GetTenantRoutesByTid(pUser.Tid);

            if (!dttr.IsNull())
            {
                var pTenRoutes = CommonFunction.GetEntitiesFromDataTable <TenantRouteM>(dttr);
                pUser.TenantRoutes = pTenRoutes;
                //获取用户所在部门
                var dtDeparts = _da.GetDepartmentBySysUserID(pUser.Tid, pUser.SysUserId);
                if (!dtDeparts.IsNull())
                {
                    var pDepartments = CommonFunction.GetEntitiesFromDataTable <DepartmentTM>(dtDeparts);
                    pUser.Departments = pDepartments;
                    //获取用户及部门所属标签
                    var dtTags = _da.GetTagsBySysUserID(pUser.Tid, pUser.SysUserId, pDepartments.Select(p => p.SysDepartmentId).ToArray());

                    if (!dtTags.IsNull())
                    {
                        var pTags = CommonFunction.GetEntitiesFromDataTable <TagTM>(dtTags);
                        pUser.Tags = pTags;

                        //获取标签所有菜单
                        var dtMenus = _da.GetMenuBySysTagID(pTags.Select(p => p.SysTagId).ToArray());
                        if (!dtMenus.IsNull())
                        {
                            var pMenus = CommonFunction.GetEntitiesFromDataTable <MenuTM>(dtMenus);
                            pUser.Menus = pMenus;
                        }
                    }
                }
            }
            //设置当前用户
            SysCurUser.SetCurUser(pUser);
            return(pUser);
        }
示例#8
0
        public HttpResponseMessage Login([FromBody] UserPostParamVM param)
        {
            HttpResponseMessage response = new HttpResponseMessage();

            string strUserName  = param.Account;
            string strPassword  = param.Password;
            var    accountModel = new AccountHelper();

            try
            {
                //验证用户是否是系统注册用户
                if (accountModel.ValidateUserLogin(strUserName, strPassword))
                {
                    //创建用户ticket信息
                    var token = accountModel.CreateLoginUserTicket(strUserName, strPassword);

                    ////读取用户权限数据
                    //accountModel.GetUserAuthorities(strUserName);

                    //获取当前用户
                    var pCurUser = SysCurUser.GetCurUser();

                    response = Request.CreateResponse(HttpStatusCode.OK, new { userId = pCurUser.UserId, role = 1, token = token, time = 0, menu = pCurUser.Menus.Select(p => p.Href).Where(p => !string.IsNullOrEmpty(p)).ToList() });
                }
                else
                {
                    response = Request.CreateResponse(HttpStatusCode.Forbidden);
                    //response = Request.CreateResponse(HttpStatusCode.OK, new { userId = string.Empty, role = 1, token = string.Empty, time = 0 });
                }
            }
            catch (Exception ex)
            {
                Logger.Log4Net.Info("登陆错误" + ex.Message);
                response = Request.CreateResponse <string>(HttpStatusCode.InternalServerError, ex.Message);
            }
            return(response);
        }