コード例 #1
0
        public override string[] GetRolesForUser(string username)
        {
            CustomPermissionsService service = new CustomPermissionsService();
            var a = service.GetPermissionsByUserName(username);

            return(a.ToArray <string>());
        }
コード例 #2
0
        public override ActionResult NodeView(HasPermissionsCondition condition)
        {
            if (condition.RoleId == null || condition.NodeId == null)
            {
                throw new NopException("参数没有赋值!");
            }
            ViewBag.RoleId = condition.RoleId.ToString();
            ViewBag.MenuId = condition.NodeId.ToString();

            //该菜单所有的自定义权限
            var customPermissionsService = new CustomPermissionsService();
            var customPermissions        = customPermissionsService.GetCustomPermissionsByMenu(condition.NodeId);
            //该角色对应菜单的自定义权限
            var hasPermissionsService = new HasPermissionsService();
            var hasPermissions        = hasPermissionsService.GetRoleHasPermissions(condition.RoleId, condition.NodeId);

            List <RoleHasPermissionsModel> models = new List <RoleHasPermissionsModel>();

            customPermissions.ForEach(p =>
            {
                var model = new RoleHasPermissionsModel()
                {
                    Id = p.Id,
                    CustomPermissionsName = p.Name,
                    HasPermission         = hasPermissions.Any(hp => hp.PermissionId == p.Id)
                };
                models.Add(model);
            });

            return(PartialView(models));
        }
コード例 #3
0
        public override PartialViewResult ListView()
        {
            string name      = Request["name"];
            string desc      = Request["desc"];
            string pageindex = Request["pageindex"];
            CustomPermissionsService   ps = new CustomPermissionsService();
            CustomPermissionsCondition pc = new CustomPermissionsCondition();

            pc.Name = name;
            pc.Desc = desc;

            pc.PageIndex = int.Parse(pageindex);
            pc.PageSize  = 8;
            Paging page = new Paging(pc);

            List <CustomPermissions> list = ps.GetListByMenuId(pc, ref page).ToList();

            BasePermissionListModel model = new BasePermissionListModel(list);

            model.Paging = page;

            model.condition = pc;

            return(PartialView("_ListView", model));
        }
コード例 #4
0
 protected override bool AuthorizeCore(HttpContextBase httpContext)
 {
     if (httpContext.Request["CurrentMenuId"] == null)
     {
         return(false);
     }
     else
     {
         AuthorizeHelper.InitiateLoginUser();
         if (httpContext.Session["IsSupper"] != null && (bool)httpContext.Session["IsSupper"])
         {
             return(true);
         }
         else
         {
             var menuId   = new Guid(httpContext.Request["CurrentMenuId"].ToString());
             var user     = httpContext.Session["User"] as User;
             var roleIds  = httpContext.Session["RoleIds"] as List <Guid>;
             var service  = new HasPermissionsService();
             var service2 = new CustomPermissionsService();
             var a        = service2.GetCustomPermissions(menuId, Permissions);
             if (a == null)
             {
                 return(false);
             }
             else
             {
                 return(service.HasPermission(menuId, a.Id, roleIds));
             }
             //return base.AuthorizeCore(httpContext);
             return(false);
         }
     }
 }
コード例 #5
0
 public CustomPermissionsController()
 {
     customPermissionsService = new CustomPermissionsService();
     hasPermissionsService    = new HasPermissionsService();
 }