protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            if (httpContext == null)
            {
                throw new ArgumentNullException("HttpContext");
            }
            if (AuthRoles == null || AuthRoles.Length == 0)
            {
                return(true);
            }
            if (!httpContext.User.Identity.IsAuthenticated)
            {
                return(false);
            }
            #region 确定当前用户角色是否属于指定的角色
            string         query       = "select Name from SysRole where id in(select SysRoleId from SysUserRole where SysUserId in (select id from SysUser where UserName=@userName))";
            string         currentUser = httpContext.User.Identity.Name;
            SqlParameter[] para        = new SqlParameter[] {
                new SqlParameter("@userName", currentUser)
            };

            using (XEngineContext db = new XEngineContext())
            {
                var userRoles = db.Database.SqlQuery <string>(query, para).ToList();
                for (int i = 0; i < AuthRoles.Length; i++)
                {
                    if (userRoles.Contains(AuthRoles[i]))
                    {
                        return(true);
                    }
                }
            }
            #endregion

            return(false);

            //return base.AuthorizeCore(httpContext);
        }
Esempio n. 2
0
 public SysUserRepository(XEngineContext context)
 {
     this.context = context;
 }
Esempio n. 3
0
 public GenericRepository(XEngineContext context)
 {
     _context = context;
     _dbSet   = _context.Set <TEntity>();//db.SysUser
 }
Esempio n. 4
0
 public GenericRepository(XEngineContext context)
 {
     this.context = context;
     this.dbSet   = context.Set <TEntity>();
 }
Esempio n. 5
0
 private void OpenGLControl_OpenGLDraw(object sender, RenderEventArgs args)
 {
     XEngineContext.Draw();
 }