Beispiel #1
0
        public IUser <int> GetUser(IIdentity objWI)
        {
            SysUserService objServ = new SysUserService();

            return(objServ.AutoLogin(objWI));
        }
Beispiel #2
0
        /// <summary>
        /// 重写基类在Action执行之前的事情
        /// </summary>
        /// <param name="filterContext">重写方法的参数</param>
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            // if (!string.IsNullOrEmpty(Request["_AppID"])) { Session["AppID"] = Request["_AppID"]; }

            var objAppID = Session["AppID"];

            AppId = 0;
            if (objAppID != null)
            {
                AppId = int.Parse(objAppID.ToString());
            }
            else if (CommonService.lstSysWeChatConfig.Count > 0)
            {
                AppId            = int.Parse(CommonService.lstSysWeChatConfig[0].WeixinAppId);
                Session["AppID"] = AppId;
            }
            // ViewBag.AppList = CommonService.lstWeChatConfig;
            // ViewBag.CurAppID = AppId;



            ////得到用户登录的信息
            objLoginInfo = Session["UserInfo"] as SysUser;

            ////判断用户是否为空   应该使用 AuthorizeAttribute,临时解决一下
            if ((objLoginInfo == null || !Request.IsAuthenticated) && (filterContext.ActionDescriptor.ActionName.ToLower() != "login" ||
                                                                       filterContext.ActionDescriptor.ControllerDescriptor.ControllerName.ToLower() != "account"))
            {
                //windows登录,自动获取用户信息
                if (objLoginInfo == null && (Request.IsAuthenticated && (User.Identity is WindowsIdentity)))
                {
                    var windowsIdentity = (WindowsIdentity)User.Identity;

                    SysUserService objServ = new SysUserService();
                    var            objUser = objServ.AutoLogin(windowsIdentity);
                    if (objUser != null)
                    {
                        objLoginInfo        = objUser;
                        Session["UserInfo"] = objLoginInfo;
                    }
                    else
                    {
                    }
                }

                if (filterContext.RequestContext.HttpContext.Request.IsAjaxRequest())
                {
                    AjaxResult <int> result = new AjaxResult <int>();
                    result.Message       = new JsonMessage((int)HttpStatusCode.Unauthorized, "Please login");
                    filterContext.Result = Json(result, JsonRequestBehavior.AllowGet);
                }
                else
                {
                    //Redirect()
                    filterContext.Result = Redirect("~/Account/Login");
                }
                // return;
            }

            if (objLoginInfo != null)
            {
                _BaseService.Repository.LoginUserID   = objLoginInfo.Id;
                _BaseService.Repository.LoginUserName = objLoginInfo.LillyId;
                SetLanguage("EN");
            }

            // System.Threading.Thread.Sleep(5000);

            //Logger log = Logger.GetLogger(filterContext.ActionDescriptor.ControllerDescriptor.ControllerType.FullName, CurrentUserInfo.USERREALNAME);
            //log.Debug(WEBUI.Common.LogHelper.GetActionInfo(filterContext));

            //lstMenus=Session["UserMenus"] as List<BASE_SYSMENU>;

            base.OnActionExecuting(filterContext);
        }