/// <summary>
        /// 
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public override bool Contains(PermissionInfo item)
        {
            if (sharedPermissions.Contains(item))
                return true;//共享权限包含,无论权限类型都将包含此权限

            if (item is OrgPermission)//要判断的权限为机构权限
                return selfPermission.Contains(item) || managedUserGroup.Contains(item);//自身机构包含此权限或者可管理用户组中包含此权限
            else if (item.Name.Contains(OrgPermission.RES_TAG))
            {
                //要判定的权限,具有@@机构与资源的路径分隔符,则:
                string resPath = item.Name.Substring(item.Name.IndexOf(OrgPermission.RES_TAG + OrgPermission.RES_TAG.Length));

                if (selfPermission.Contains(item))
                {
                    //自身机构能包含此权限的机构,取后续的资源权限,只要角色的资源部分拥有此权限(在org机构权限满足的条件下,将忽略角色中的机构部分)进行判断资源权限
                    if (role.ContainsRes(item.New(resPath)))
                        return true;
                    else
                        return managedUserGroup.Contains(item);
                }
                else
                {
                    //自身机构不包含要判定的权限,只能通过角色和可管理的用户组判定
                    return role.Contains(item) || managedUserGroup.Contains(item);
                }
            }
            else
            {
                //没有机构分割标记路径的权限,则只能通过角色和可管理的用户组以及基类判定
                return role.Contains(item) || managedUserGroup.Contains(item) || base.Contains(item);
            }
        }