I was looking for how to do this, there doesn’t seem to be a built-in way of doing this (yet), and most of the solutions were pretty involved. I found an easy way to limit a user to a dashboard using Browser-Mod.
- Install Browser-Mod
- Create a user account.
- Create dashboard for the user.
- Go to Browser-Mod settings…
4a. Add a user setting under “Hide Sidebar” (true) for the user you created
4b. Add the same user setting under “Hide Header” (true).
4c. Add a user setting under “Default dashboard” pointing to the dashboard you created for the user.
When the user logs in, they will see the assigned dashboard with no sidebar/header. That effectively makes it impossible for them to do anything not on the dashboard you’ve given them. This works well for the mobile app. However, I think if the user logged in via web interface, and knows the URL paths to other dashboards/tabs, it’s possible they can still access other dashboards. So, this isn’t an absolutely secure solution, but it works if you trust your users. To make it all a tiny bit more secure, I created the user as non-admin and set all dashboards I don’t want them to access as admin only.
One small quirk I noticed upon testing was, when I setup the new user in the app for the first time, they still got the default dashboard upon first login. However, on refresh and subsequent logins, they only saw the dashboard I pinned them to.