cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
lisarinehart
Helper I
Helper I

PowerApps Portal How to Limit Page Visibility to select users

Hello!

I've created a PowerApps Portal & added all my pages, but now I need to set up the authorization for certain users to view certain pages and can't seem to find help online - I'd like users to have to authenticate (create a login) to see anything beyond the home page, THEN they see a just a few basic pages, and to see final level of 'secured' pages (i.e. with things like specials pricing/products) they must complete a form and provide us with certain info (i.e. a special #), one that we have to verify with an outside source as valid. I have a form set up in MS Forms and a flow set up previous to the portal & and know I need to set up a new CDS Entity and Portal Form tied to this entity for this 2nd 'registration' - the issue i have is how to set visibility of my pages and tie it to this form/# validation.  I cannot set up an API externally to verify this special # , and do not have a list to reference so we have to have our new customer fill out a form (I have flows set up to automate as much as I can, but it’s ultimately still a manual process at heart) & we 'manually' change their validation status from false to true.

2 main questions:

1-How do I push/require login registration, so my external users have to register when first getting to the site? there is a setting: Profile/ForceSignUp , set to false...if i change this to true, will it require them to register or login or is this just forcing them to enter profile info when they do register?  If this isn't a setting to help with this, should I instead put the directions as text on the home page (i.e. please register/login by doing 'A,B,C') and set the visibilty on all the other pages as a formula to reference authentication (and if so, what is that formula??)?

2 - IF I set up a CDS entity and form in the portal to collect this special # that we need, can I tie it to the user contact used for portal login authentication (in azure)? Or just tie it to it's own separate entity that contains a true/false value, and then set page visibility as a (another/nested) formula referencing this Boolean value in the contact or CDS entity data (again, what would the formula be)???

 

I’ve seen in so many videos that this is a capability in the PowerApps portal, but I can seem to cross that line of how to do, to toggle access for a page to point, by perhaps pointing to a CDS entity (and/or a contact item as either true or false) for reference.

We have the proper license (I believe :-)) for external users...this issue is my last big fundamental hurtle to get this portal operational.

 

THANK YOU in advance for ANY advice or help anyone can provide!!!!

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
timl
Super User III
Super User III

Hi @lisarinehart 

To set up the security for a portal, you would define web roles.

https://docs.microsoft.com/en-us/powerapps/maker/portals/configure/create-web-roles

You can then define webpage access control rules to specify the areas of your site that require authentication.

https://docs.microsoft.com/en-us/powerapps/maker/portals/configure/webpage-access-control

It's likely that you don't want to require authentication across your entire site, because you may want to allow unauthenticated access to the registration areas/pages.

Portal users can authenticate using Azure AAD and all users are associated with a contact record in the CDS.

There is an invitation model that is typically used and there are more details here.

https://docs.microsoft.com/en-us/powerapps/maker/portals/configure/invite-contacts

Hope that's of some help.

View solution in original post

5 REPLIES 5
timl
Super User III
Super User III

Hi @lisarinehart 

To set up the security for a portal, you would define web roles.

https://docs.microsoft.com/en-us/powerapps/maker/portals/configure/create-web-roles

You can then define webpage access control rules to specify the areas of your site that require authentication.

https://docs.microsoft.com/en-us/powerapps/maker/portals/configure/webpage-access-control

It's likely that you don't want to require authentication across your entire site, because you may want to allow unauthenticated access to the registration areas/pages.

Portal users can authenticate using Azure AAD and all users are associated with a contact record in the CDS.

There is an invitation model that is typically used and there are more details here.

https://docs.microsoft.com/en-us/powerapps/maker/portals/configure/invite-contacts

Hope that's of some help.

View solution in original post

Thank you for pointing in the direction of Web Roles (there are so many options, it's hard to know where to start!) - you are right, i think I don't want to require auth across the whole site, as that landing page is a good place for registration directives. Unfortunately I've explored the indentation reg option and that won't work in general, as we don't know who will be registering before hand and we don't have access to the list of people that can be accepted until they register and provide us their specific contact info and have our 3rd party check against their list  - i know...it's weirdly complex....right?! 🙂

 

Again, your help is SUPER appreciated!! I've previously set up some tentative web roles, but didn't know what settings to turn on/off, etc. & I will definitely be checking out more info on this & the web access control rules link!!! Thanks @timl 

Hi @lisarinehart 

I'm glad to be of help. Good luck with this! 🙂

Thank you @timl , I got my Web Roles entered and thanks to your direction & links, it led me to the one final piece I needed: Add record-based security by using entity permissions for portals. I believe this is exactly what I'm looking for. 

I will set home/landing page & registration with 'open' access, direct my external users after Auth registration & login to a form (tied to a CDS entity solution) and then set my 2 main created web roles up with entity permissions appropriately, then set the webpages in question to restrict read access for only those appropriate web roles.


I'm not sure if my explanation is all that clear (it's hard to summarize a complicated set up into a few sentences, LOL) but your direction was invaluable. ‌‌ Much Appreciated! 😃

 

Hi @lisarinehart 

Thanks for the update!

I'm glad you found what you were looking for, and I'm pleased that it didn't seem too difficult for you to set up the entity permissions to secure your CDS data. Hope the rest of this goes smoothly for you.

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

secondImage

Are Your Ready?

Test your skills now with the Cloud Skill Challenge.

secondImage

Demo Extravaganza is Back!

We are excited to announce that Demo Extravaganza for 2021 has started!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Top Solution Authors
Top Kudoed Authors
Users online (67,109)