コード例 #1
0
 /// <summary>
 /// 构造函数注入
 /// </summary>
 /// <param name="sysUserInfoServices"></param>
 /// <param name="userRoleServices"></param>
 /// <param name="roleServices"></param>
 /// <param name="requirement"></param>
 public LoginController(IsysUserInfoServices sysUserInfoServices, IUserRoleServices userRoleServices, IRoleServices roleServices, PermissionRequirement requirement)
 {
     this.sysUserInfoServices = sysUserInfoServices;
     this.userRoleServices    = userRoleServices;
     this.roleServices        = roleServices;
     _requirement             = requirement;
 }
コード例 #2
0
 public userinfoController(IsysUserInfoServices uSer, IsysOrganStructServices oSer, IsysRoleServices rSer, IsysUserInfo_RoleServices urSer)
 {
     base.userinfoSer     = uSer;
     base.organSer        = oSer;
     base.roleSer         = rSer;
     base.userinfoRoleSer = urSer;
 }
コード例 #3
0
 public UserRoleController(IsysUserInfoServices sysUserInfoServices,
                           IUserRoleServices userRoleServices, IRoleServices roleServices)
 {
     _roleServices        = roleServices;
     _sysUserInfoServices = sysUserInfoServices;
     _userRoleServices    = userRoleServices;
 }
コード例 #4
0
 public BlogArticleController(IBlogArticleServices blogArticleServices, IsysUserInfoServices isysUserInfoServices, IMapper mapper, IBlogArticleHistoryVersionServices blogArticleHistoryVersionServices)
 {
     _blogArticleServices  = blogArticleServices;
     _isysUserInfoServices = isysUserInfoServices;
     _blogArticleHistoryVersionServices = blogArticleHistoryVersionServices;
     _mapper = mapper;
 }
コード例 #5
0
 public UserController(IsysUserInfoServices sysUserInfoServices, IUserRoleServices userRoleServices,
                       IRoleServices roleServices, IUser user)
 {
     _sysUserInfoServices = sysUserInfoServices;
     _roleServices        = roleServices;
     _userRoleServices    = userRoleServices;
     _user = user;
 }
コード例 #6
0
        /// <summary>
        /// 统一验证Session[Keys.uinfo]如果为null则跳转到登陆页
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //0.0判断是否有贴跳过登录检查的特性标签
            if (filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(SkipCheckLogin), false))
            {
                return;
            }

            if (filterContext.ActionDescriptor.IsDefined(typeof(SkipCheckLogin), false))
            {
                return;
            }

            //1.0 判断session是否为null
            if (filterContext.HttpContext.Session[Keys.uinfo] == null)
            {
                //1.0.1 查询cookie[Keys.Ismemeber]是否不为null,如果成立则模拟用户的登录,再将用户实体数据存入session[Keys.uinfo]中
                if (filterContext.HttpContext.Request.Cookies[Keys.IsMember] != null)
                {
                    //1.0 取出cookie中存入的uid的值
                    string uid = filterContext.HttpContext.Request.Cookies[Keys.IsMember].Value;
                    uid = DESEncrypt.Decrypt(uid);

                    //2.0 根据uid查询出用户的实体

                    //2.0.1 从缓存中获取autofac的容器对象
                    var cont = CacheMgr.GetData <IContainer>(Keys.AutofacContainer);
                    //2.0.2 找autofac容器获取IsysUserInfoServices接口的具体实现类的对象实例
                    IsysUserInfoServices userSer = cont.Resolve <IsysUserInfoServices>();

                    //2.0.3 根据userSer 集合uid查询数据
                    int iuserid  = int.Parse(uid);
                    var userinfo = userSer.QueryWhere(c => c.uID == iuserid).FirstOrDefault();
                    if (userinfo != null)
                    {
                        //2.0.4 将userinfo存入session
                        filterContext.HttpContext.Session[Keys.uinfo] = userinfo;
                    }
                    else
                    {
                        ToLogin(filterContext);
                    }
                }
                else
                {
                    //2.0 跳转到登录页面
                    // filterContext.HttpContext.Response.Redirect("/admin/login/login");

                    //ContentResult cr = new ContentResult();
                    //cr.Content = "<script>alert('您未登录');window.location='/admin/login/login';</script>";

                    ToLogin(filterContext);
                }
            }

            base.OnActionExecuting(filterContext);
        }
コード例 #7
0
 public HomeController(IsysUserInfoServices userinfs, IBlogArticleServices BlogArticleServive, IAdvertisementServices AdvertisementServices, IGuestbookServices GuestbookServices, ITopicServices TopicServive, ITopicDetailServices TopicDetailServive)
 {
     this.userinfoservice       = userinfs;
     this.BlogArticleServive    = BlogArticleServive;
     this.AdvertisementServices = AdvertisementServices;
     this.GuestbookServices     = GuestbookServices;
     this.TopicServive          = TopicServive;
     this.TopicDetailServive    = TopicDetailServive;
 }
コード例 #8
0
ファイル: UserInfoController.cs プロジェクト: hyunbar777/CRM
 public UserInfoController(
     IsysUserInfoServices user,
     IsysOrganStructServices oser,
     IsysRoleServices rser,
     IsysUserInfo_RoleServices urser)
 {
     base._organSer        = oser;
     base._userinfoSer     = user;
     base._roleSer         = rser;
     base._userinfoRoleSer = urser;
 }
コード例 #9
0
        /// <summary>
        /// 负责验证Session[Keys.Uinfo]是否为null,如果为null则直接跳转到登录页面
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnActionExecuting(HttpActionContext filterContext)
        {
            //0.0 判断控制器类或者action是否有贴SkipCheckLogin标签,如果有贴则阻断下面代码的运行
            if (filterContext.ControllerContext.ControllerDescriptor.GetCustomAttributes <SkipCheckLoginAttribute>().Count == 1)
            {
                return;
            }

            if (filterContext.ActionDescriptor.GetCustomAttributes <SkipCheckLoginAttribute>().Count == 1)
            {
                return;
            }

            //1.0 判断session如果为空则跳转
            if (HttpContext.Current.Session[Keys.Uinfo] == null)
            {
                //1.0 第一种提醒方式,体验不好,因为会导致页面泛白
                //filterContext.HttpContext.Response.Write("<script>alert('您未登录');window.location='/admin/login/login'</script>");

                //2.0 判断如果cookie中的数据不为空,则应该取出其中的用户主键去sysuserinfo表中再次获取实体
                //存入session
                if (HttpContext.Current.Request.Cookies[Keys.IsRemember] != null)
                {
                    //2.0.1 获取用户主键
                    string userid = HttpContext.Current.Request.Cookies[Keys.IsRemember].Value;

                    //2.0.2 根据userid去访问sysuserinfo获取数据实体
                    //2.0.2.1 从全局缓存中获取autofac的容器对象
                    IContainer autofac = CacheMgr.GetData <IContainer>(Keys.autofaccontainer);
                    //2.0.2.2 从autofac容器中获取IsysUserInfoServices的实现类的对象实例
                    IsysUserInfoServices userSer = autofac.Resolve <IsysUserInfoServices>();

                    int uid = int.Parse(userid);

                    var userinfo = userSer.QueryWhere(c => c.uID == uid).FirstOrDefault();

                    //3.0 判断userinfo是否为null
                    if (userinfo == null)
                    {
                        ToLogin(filterContext);
                    }
                    else
                    {
                        //4.0 将userinfo实体对象存入session
                        filterContext.HttpContext.Session[Keys.Uinfo] = userinfo;
                    }
                }
                else
                {
                    //统一跳转
                    ToLogin(filterContext);
                }
            }
        }
コード例 #10
0
ファイル: CheckLoginAttribute.cs プロジェクト: hyunbar777/CRM
        /// <summary>
        /// 统一验证session【keys.uinfo】如果是null跳转到登录页
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //判断是否有贴跳过登录检查的特性标签
            if (filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(SkipCheckLogin), false))
            {
                return;
            }
            if (filterContext.ActionDescriptor.IsDefined(typeof(SkipCheckLogin), false))
            {
                return;
            }
            if (filterContext.HttpContext.Session[Keys.uinfo] == null)
            {
                //1.0查询cookie【keys.Ismember]是否为空,如果成立则模拟用户的登录,
                //在将用户实体数据存入session[keys.uinfo】中

                if (filterContext.HttpContext.Request.Cookies[Keys.IsMember] != null)
                {
                    //1.0取出cookie中存入的uid的值
                    string uid = filterContext.HttpContext.Request.Cookies[Keys.IsMember].Value;

                    //2.0根据uid查询出实体
                    //2.00先从缓存中获取autofac的容器对象
                    var cont = CacheMgr.GetData <IContainer>(Keys.AutofacContainer);
                    //2.01找autofac容器获取IsysUserInfoServices
                    IsysUserInfoServices userSer = cont.Resolve <IsysUserInfoServices>();
                    //2.03根据userser集合uid查询数据
                    int iuserid  = int.Parse(uid);
                    var userinfo = userSer.QueryWhere(c => c.uID == iuserid).FirstOrDefault();
                    if (userinfo != null)
                    {
                        filterContext.HttpContext.Session[Keys.uinfo] = userinfo;
                    }
                    else
                    {
                        ToLogin(filterContext);
                    }
                }

                ////法一:
                // filterContext.HttpContext.Response.Redirect("/Admin/Login/Login");
                //法二:
                //ContentResult cr = new ContentResult();
                //cr.Content = "<script>alert('您未登录');window.location='/Admin/Login/Login'</script>";
                //filterContext.Result = cr;
                else
                {
                    ToLogin(filterContext);
                }
            }
            base.OnActionExecuting(filterContext);
        }
コード例 #11
0
        public static sysUserInfo GetUserByID(object userid)
        {
            if (userid == null)
            {
                return(new sysUserInfo()
                {
                });
            }
            int iuser = int.Parse(userid.ToString());

            var autofac = CacheMgr.GetData <IContainer>(Keys.AutofacContainer);
            IsysUserInfoServices userSer = autofac.Resolve <IsysUserInfoServices>();

            return(userSer.QueryWhere(c => c.uID == iuser).FirstOrDefault());
        }
コード例 #12
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //1.0 判断如果贴有    [SkipCheckLogin]则跳过登录检查
            if (filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(SkipCheckLoginAttribute), false))
            {
                return;
            }

            if (filterContext.ActionDescriptor.IsDefined(typeof(SkipCheckLoginAttribute), false))
            {
                return;
            }

            if (filterContext.HttpContext.Session[Keys.uinfo] == null)
            {
                //1.0 判断cookie是否有值
                if (filterContext.HttpContext.Request.Cookies[Keys.isremember] == null)
                {
                    //2.0 跳转到登录页面
                    ToLogin(filterContext);
                }
                else
                {
                    //3.0 获取cookie中存好的用户id
                    string uid = filterContext.HttpContext.Request.Cookies[Keys.isremember].Value;

                    //4.0 存全局缓存中获取autofac容器对象
                    var container = CacheMgr.GetData <IContainer>(Keys.autofac);

                    //4.0 根据uid去表sysuserinfo中查询用户对象重新赋值给Session[Keys.uinfo]
                    IsysUserInfoServices userServics = container.Resolve <IsysUserInfoServices>();
                    int iuserid  = uid.AsInt();
                    var userinfo = userServics.QueryWhere(c => c.uID == iuserid).FirstOrDefault();
                    if (userinfo == null)
                    {
                        ToLogin(filterContext);
                    }
                    else
                    {
                        filterContext.HttpContext.Session[Keys.uinfo] = userinfo;

                        //设置缓存
                        //container.Resolve<IsysPermissListServices>().GetPermissListByUid(userinfo.uID);
                    }
                }
            }
        }
コード例 #13
0
 /// <summary>
 /// 构造器
 /// </summary>
 /// <param name="moduleServices"></param>
 /// <param name="IsysUserInfoServices"></param>
 public ModuleController(IModuleServices moduleServices, IsysUserInfoServices IsysUserInfoServices)
 {
     this.moduleServices       = moduleServices;
     this.IsysUserInfoServices = IsysUserInfoServices;
 }
コード例 #14
0
ファイル: HomeController.cs プロジェクト: DivenK/NewFengShun
 public HomeController(IsysMenusServices mSer, IsysUserInfoServices user) : base(mSer)
 {
     base.menuSer     = mSer;
     base.userinfoSer = user;
 }
コード例 #15
0
        //public LoginController(IsysUserInfoServices userSer, IsysPermissListServices pser)
        //{
        //    base.userinfoSer = userSer;
        //    base.permissSer = pser;
        //}

        public LoginController(IsysUserInfoServices userifoMenus, IsysMenusServices mSer) : base(mSer)
        {
            base.userinfoSer = userinfoSer;
        }
コード例 #16
0
ファイル: HomeController.cs プロジェクト: canxu1990/myblog
 public HomeController(IsysUserInfoServices userinfos, IBlogArticleServices blogArticleServive, IAdvertisementServices advertisementServices)
 {
     this.userinfoservice       = userinfos;
     this.blogArticleServive    = blogArticleServive;
     this.advertisementServices = advertisementServices;
 }
コード例 #17
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="sysUserInfoServices"></param>
 /// <param name="userRoleServices"></param>
 /// <param name="roleServices"></param>
 public UserRoleController(IsysUserInfoServices sysUserInfoServices, IUserRoleServices userRoleServices, IRoleServices roleServices)
 {
     this.sysUserInfoServices = sysUserInfoServices;
     this.userRoleServices    = userRoleServices;
     this.roleServices        = roleServices;
 }
コード例 #18
0
 public LoginController(IsysUserInfoServices UserInfoServices, ICacheManager cacheManager)
 {
     this.UserInfoServices = UserInfoServices;
     this.cacheManager     = cacheManager;
 }
コード例 #19
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="isysUserInfoServices"></param>
 public sysUserInfoController(IsysUserInfoServices isysUserInfoServices)
 {
     this.IsysUserInfoServices = isysUserInfoServices;
 }
コード例 #20
0
ファイル: LoginController.cs プロジェクト: yangshp/gitcrm
 public LoginController(IsysUserInfoServices userSer, IsysFunctionServices funSer, IsysPermissListServices pSer)
 {
     base.userinfoSer = userSer;
     base.funSer      = funSer;
     base.permissSer  = pSer;
 }
コード例 #21
0
 public ExampleController(IsysUserInfoServices isysUserInfoServices, PermissionRequirement requirement)
 {
 }
コード例 #22
0
 public LoginController(IsysUserInfoServices isysUserInfoServices, PermissionRequirement requirement)
 {
     _isysUserInfoServices = isysUserInfoServices;
     _requirement          = requirement;
 }
コード例 #23
0
 public UserInfoController(IsysUserInfoServices UserInfoService)
 {
     this.UserInfoService = UserInfoService;
 }
コード例 #24
0
ファイル: LoginController.cs プロジェクト: feitianxiaodai/CRM
 /// <summary>
 /// 利用autofac传入的接口对象实例赋值给父类
 /// </summary>
 /// <param name="userSer"></param>
 public LoginController(IsysUserInfoServices userSer)
 {
     this.userinfoSer = userSer;
 }
コード例 #25
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            HttpContext context = HttpContext.Current;
            //从缓存中获取autofac的容器对象
            var cont = CacheMgr.GetData <IContainer>(Keys.AutofacContainer);
            //获取到依赖注入数据
            ICacheManager cacheManager = cont.Resolve <ICacheManager>();

            if (filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(SkipCheckLogin), false))
            {
                return;
            }
            if (filterContext.ActionDescriptor.IsDefined(typeof(SkipCheckLogin), false))
            {
                return;
            }
            //判断session是否为null
            if (filterContext.HttpContext.Request.Cookies[Keys.uinfo] == null)
            {
                if (filterContext.HttpContext.Request.Cookies[Keys.IsMember] != null)
                {
                    //取出cookie中存入的uid的值
                    string uid = filterContext.HttpContext.Request.Cookies[Keys.IsMember].Value;

                    //获取到依赖注入数据
                    IsysUserInfoServices userSer = cont.Resolve <IsysUserInfoServices>();

                    int iuserid  = int.Parse(uid);
                    var userinfo = userSer.QueryWhere(c => c.uID == iuserid).FirstOrDefault();
                    if (userinfo != null)
                    {
                        //将userinfo存入session
                        //filterContext.HttpContext.Session[Keys.uinfo] = userinfo;

                        //改用redis存储用户信息

                        //改用redis缓存
                        string sessionId = Guid.NewGuid().ToString("N");//必须保证Memcache的key唯一
                        cacheManager.Set(sessionId, userinfo, TimeSpan.FromHours(1));
                        //filterContext.HttpContext.Request.Cookies[Keys.uinfo].Value = sessionId;
                        context.Response.Cookies[Keys.uinfo].Value = sessionId;//将自创的用户信息以Cookie的形式返回给浏览器。
                        BaseController.LoginUser = userinfo;
                    }
                    else
                    {
                        ToLogin(filterContext);
                    }
                }
                else
                {
                    ToLogin(filterContext);
                }
            }
            else
            {
                string      sessionId = filterContext.HttpContext.Request.Cookies[Keys.uinfo].Value;
                sysUserInfo obj       = cacheManager.Get <sysUserInfo>(sessionId);//获取Memcache中的数据.
                if (obj != null)
                {
                    BaseController.LoginUser = obj;
                    //模拟滑动过期时间。
                    cacheManager.Set(sessionId, obj, TimeSpan.FromHours(1));
                }
                else
                {
                    ToLogin(filterContext);
                }
            }
        }
コード例 #26
0
ファイル: LoginController.cs プロジェクト: hyunbar777/CRM
 public LoginController(IsysUserInfoServices userSer, IsysPermissListServices pSer)
 {
     base._userinfoSer = userSer;
     base._permissSer  = pSer;
 }
コード例 #27
0
 public LoginController(IsysUserInfoServices isysUserInfoService, IsysFunctionServices isysFunctionServices)
 {
     base.isysUserInfoServices = isysUserInfoService ?? throw new ArgumentNullException(nameof(IsysUserInfoServices));
     base.isysFunctionServices = isysFunctionServices ?? throw new ArgumentNullException(nameof(IsysFunctionServices));
 }