Beispiel #1
0
        /// <summary>
        /// 判断当前控制器下用户是否有对应的权限
        /// <para>True : 有</para>
        /// <para>False : 没有</para>
        /// </summary>
        /// <param name="RouteData">当前目录信息</param>
        /// <param name="permission">要判断的权限点</param>
        /// <returns></returns>
        public static bool CheckRole(this RouteData RouteData, AdminLTE.Enum.PermissionType permission)
        {
            var loginInfo = LoginInfoHelper.Current();

            if (loginInfo.IsAdmin)
            {
                return(true);
            }

            //var areaName = RouteData.DataTokens["area"] + "";
            var    controllerName = RouteData.Values["controller"].ToString().ToLower() + "";
            var    menuCache      = MvcBase.Unity.Get <AdminLTE.Domain.Services.IMenuService>().ListCache();
            string menuID         = string.Empty;

            foreach (var menu in menuCache)
            {
                menuID = menu.Children.SingleAndInit(m => m.Url.ToLower().Contains(controllerName)).ID;
                if (!string.IsNullOrEmpty(menuID))
                {
                    break;
                }
            }

            if (loginInfo.MenuIDs.Contains(menuID))
            {
                return(((int)permission).IntPare(loginInfo.Permissions[menuID]));
            }
            return(false);
        }
Beispiel #2
0
 /// <summary>
 /// 判断当前控制器下用户是否有对应的权限
 /// <para>True : 有</para>
 /// <para>False : 没有</para>
 /// </summary>
 /// <param name="controller">控制器</param>
 /// <param name="permission">要判断的权限点</param>
 /// <returns></returns>
 public static bool CheckRole(this Controller controller, AdminLTE.Enum.PermissionType permission)
 {
     return(controller.RouteData.CheckRole(permission));
 }
Beispiel #3
0
 /// <summary>
 /// 判断当前控制器下用户是否有对应的权限
 /// <para>True : 有</para>
 /// <para>False : 没有</para>
 /// </summary>
 /// <param name="Html">视图辅助类</param>
 /// <param name="permission">要判断的权限点</param>
 /// <returns></returns>
 public static bool CheckRole(this HtmlHelper Html, AdminLTE.Enum.PermissionType permission)
 {
     return(Html.ViewContext.RequestContext.RouteData.CheckRole(permission));
 }