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
Super User

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
Super User

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.

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
Ignite 2022

WHAT’S NEXT AT MICROSOFT IGNITE 2022

Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.

Power Apps Africa Challenge 2022

Power Apps Africa Challenge

Your chance to join an engaging competition of Power Platform enthusiasts.

Super User 2 - 2022 Congratulations

Welcome Super Users

The Super User program for 2022 - Season 2 has kicked off!

September Events 2022

Check out all of these events

Attend in person or online, there are incredible conferences and events happening all throughout the month of September.

Users online (1,951)