diff --git a/pkg/api/index.go b/pkg/api/index.go index 7103587a73f..7d44ab2b667 100644 --- a/pkg/api/index.go +++ b/pkg/api/index.go @@ -169,36 +169,38 @@ func (hs *HTTPServer) getNavTree(c *models.ReqContext, hasEditPerm bool, prefs * hasAccess := ac.HasAccess(hs.AccessControl, c) navTree := []*dtos.NavLink{} - starredItemsLinks, err := hs.buildStarredItemsNavLinks(c, prefs) - if err != nil { - return nil, err + if hasAccess(ac.ReqSignedIn, ac.EvalPermission(dashboards.ActionDashboardsRead)) { + starredItemsLinks, err := hs.buildStarredItemsNavLinks(c, prefs) + if err != nil { + return nil, err + } + + navTree = append(navTree, &dtos.NavLink{ + Text: "Starred", + Id: "starred", + Icon: "star", + SortWeight: dtos.WeightSavedItems, + Section: dtos.NavSectionCore, + Children: starredItemsLinks, + EmptyMessageId: "starred-empty", + }) + + dashboardChildLinks := hs.buildDashboardNavLinks(c, hasEditPerm) + + dashboardsUrl := "/dashboards" + + navTree = append(navTree, &dtos.NavLink{ + Text: "Dashboards", + Id: "dashboards", + SubTitle: "Manage dashboards and folders", + Icon: "apps", + Url: hs.Cfg.AppSubURL + dashboardsUrl, + SortWeight: dtos.WeightDashboard, + Section: dtos.NavSectionCore, + Children: dashboardChildLinks, + }) } - navTree = append(navTree, &dtos.NavLink{ - Text: "Starred", - Id: "starred", - Icon: "star", - SortWeight: dtos.WeightSavedItems, - Section: dtos.NavSectionCore, - Children: starredItemsLinks, - EmptyMessageId: "starred-empty", - }) - - dashboardChildLinks := hs.buildDashboardNavLinks(c, hasEditPerm) - - dashboardsUrl := "/dashboards" - - navTree = append(navTree, &dtos.NavLink{ - Text: "Dashboards", - Id: "dashboards", - SubTitle: "Manage dashboards and folders", - Icon: "apps", - Url: hs.Cfg.AppSubURL + dashboardsUrl, - SortWeight: dtos.WeightDashboard, - Section: dtos.NavSectionCore, - Children: dashboardChildLinks, - }) - canExplore := func(context *models.ReqContext) bool { return c.OrgRole == models.ROLE_ADMIN || c.OrgRole == models.ROLE_EDITOR || setting.ViewersCanEdit } diff --git a/public/app/core/components/NavBar/NavBar.tsx b/public/app/core/components/NavBar/NavBar.tsx index 842ecccfbd9..80474ffa28a 100644 --- a/public/app/core/components/NavBar/NavBar.tsx +++ b/public/app/core/components/NavBar/NavBar.tsx @@ -64,7 +64,7 @@ export const NavBar = React.memo(() => { { id: 'home', text: 'Home', - url: config.appSubUrl || '/', + url: config.bootData.user.isSignedIn ? config.appSubUrl || '/' : '/login', icon: 'grafana', }, menuOpen