SparkDevNetwork / Rock.Mobile-Issues

3 stars 2 forks source link

[Issue]: Tab Navigation Not Respecting "Display in Navigation - When Allowed" + Page Security #30

Closed briankalwat closed 4 months ago

briankalwat commented 4 months ago

Describe the Issue in Detail

I've added security to one of the tab pages in our mobile app, giving access to the page to a select group and denying everyone else. When I sign into the app as a person who is not a member of the allowed group, I can still see the page that I have been denied View access to, but when I view the page, all of the blocks on it show errors.

Can reproduce in

Steps to Reproduce

  1. Create a page in a tabbed navigation mobile app.
  2. Set this new page's "Display in Navigation" setting to "When Allowed".
  3. Add page security to the page giving view access to a security role, and set "All Users" to "Deny" for view below the group.
  4. Sign into the app with a user that is NOT a member of the security role that you gave page access to in step 2.
  5. See that the page with security is still visible as a tab in the navigation of the app.

Expected Behavior

When a page has the "Display in Navigation" setting set to "When Allowed", and security is added to exclude certain users, users who have been excluded from viewing the page should not see the tab for the page in the app navigation.

Actual Behavior

All users are able to see a tab for restricted pages that they may or may not have access to.

Screenshots or Videos

Security Rules for Page

image

Security Enforced in Rock

image

Navigation Tab Visible w/Same User

IMG_8C85D1EA9E97-1

Reproduction XAML

No response

Mobile Shell Version

6.0.0.0

Last Known Working Version

5.x

iOS Device Type(s) and iOS Version(s)

iPhone 13 Pro - iOS v17.4.1

Android Device Type(s) and Android Version(s)

Google Pixel 7 - Android 14

briankalwat commented 4 months ago

Turns out you have to re-build your app in order for page security to be brought down locally to the device. Just in case anyone else sees this in the future.