示例#1
0
        private string systemNo = "a";//系统识别代码

        public ActionResult Index()
        {
            ViewBag.ser = serURL;
            ViewBag.sso = ssoURL;
            var requestCookies = Request.Cookies["currentUser"];

            if (requestCookies != null)
            {
                ViewBag.token = requestCookies.Value;
            }
            //验证权限
            v = RoleHelper.CheckRole(systemNo, ViewBag.token);

            //获取租户信息
            var tId         = RoleHelper.AccountInfo().Where(x => x.UserName == v).Select(x => x.TenantId).FirstOrDefault();
            var tenantModel = this.GetTenantInfo(tId);

            if (tenantModel != null)
            {
                ViewBag.TenantId = tenantModel.Tenant_id;
                ViewBag.Name     = tenantModel.Name;
            }
            var res = new List <Products>();

            if (tenantModel != null)
            {
                ViewBag.TenantId = tenantModel.Tenant_id;
                ViewBag.Name     = tenantModel.Name;
                var _dbContext = new SSoTestEntities(tenantModel.Tenant_id);
                res = _dbContext.Products.ToList();
            }

            ViewBag.v = v;
            return(View(res));
        }
示例#2
0
        public ActionResult Post(string name, string pwd, string redirect_url, string client_id = null)
        {
            //TODO 模拟账号
            var userList = RoleHelper.AccountInfo();

            //限制暴力登录-设置IP登录频率
            //验证登录名密码是否正确 TODO
            string token = "";
            var    ret   = new ReturnBaseModel();

            try
            {
                if (userList.Exists(x => x.UserName == name))
                {
                    if (pwd == "123")
                    {
                        //1写cache
                        token = name + "_" + Guid.NewGuid().ToString().Substring(4, 12) + DateTime.Now.Millisecond;
                        token = Common.Common.EncryptMD5(token);

                        //将用户登录信息保存在cache中,用于验证登录
                        Utils.CacheHelper.Insert(token, name, 9000);


                        #region 租户识别
                        //根据登录判别所属租户TODO


                        var tenantId = userList.Where(x => x.UserName == name).Select(x => x.TenantId).FirstOrDefault();
                        //通过数据库查询tennat
                        var tenants    = TestTenantsData.GetTenatns();
                        var tenantData = tenants.Where(x => x.Tenant_id == tenantId).FirstOrDefault();
                        if (tenantData != null)
                        {
                            //Utils.CacheHelper.Insert(name, new Tenants { Id = tenantData.Id, Tenant_id = tenantData.Tenant_id, Name = tenantData.Name, CreatDate = DateTime.Now }, 300);
                            ret.ReturnCode = "1"; ret.ReturnMsg = redirect_url + "/Base/CreateCookie" + "?token=" + token + "&Tenant_id=" + tenantData.Tenant_id + "&Tenant_name=" + tenantData.Name + "&redirect_url=" + redirect_url;
                        }
                        else
                        {
                            ret.ReturnCode = "-1"; ret.ReturnMsg = "租户信息获取失败";
                        }

                        #endregion
                    }
                    else
                    {
                        ret.ReturnCode = "-1"; ret.ReturnMsg = "密码有误";
                    }
                }
                else
                {
                    ret.ReturnCode = "-1"; ret.ReturnMsg = "账号未注册";
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }



            //return Redirect(acom+"&others="+substation+"&main="+redirect_url);

            return(Json(ret));
        }