Registered Role 

Registered Role 

  

Can someone tell me how I can find the Registered Role information in the Data? 

I have created an application portal for our users that lists all the Outsystems applications where they have been granted access so they don't have to remember many links, just the portal link. This is simple enough if they have been explicitly granted access to a role. 

However, for those applications where their access granted via the system role "Registered", I am having trouble listing them. I appreciate there are lots of issues related to this but I am certain that once I find that data in a table, I can figure out a way around this.

Thanks in advance

Jacqui

Hi Jacqui

You don't give the Registered role to a user explicitly. It is automatically bind to any user upon login. So, ALL users, after login, have the Registered role.

We use this role, marking it into the role section on web screens, instead of anonymous to guarantee that any user that successfully login in the system can access those web screens. 

If you only use this role in your application, any user that is logged in can access any screen and execute any action.

In this situation, all users will have access to that application.

So, what kind of information are you looking for?

Cheers,

Eduardo Jauch


I think the problem with your approach is conceptual.

You are assuming that roles give access to an application. But in reality, they give access to Web Screens.

I can create a role in a module in application A, and through reference use that role in a screen in a module in application B. 

See the problem with the concept?

A workaround is to create a specific role in every application, even if you don't use it, and assign that role to any user that can access that application, so you have a complete list in your portal.

Or keep a table with the association between users and applications they have access, explicitly.

Cheers, 

Eduardo Jauch

Thanks Eduardo. I understand that. I assumed that even though the role was set by the system, internally it would be implemented the same way as any other role. I see this is not the case.

Is there a way to list all the espaces with pages that have a screen with Registered ticked On? I can eliminate the pages that would always have this such as Login, InvalidPermissions etc, and the remaining ones would serve a two fold purpose. 

1 allow me to see potential gaps in our securty

2 allow me to display those applications in our application access portal. 

Basically I want to find where the Registered flag data is saved.

Thanks
Jacqui

Hello Jacqui

I'm not aware of an "automatic" way of finding every page where the "Registered" role was ticked, because I'm not aware of any system table that has this information.

I think this information is stored in the OML, but I don't know if there is a way to "understand" it so you can create an automatic validator.

Manually, you can enter module by module and find all the usages of the Registered role in it.

This will show you all the pages where the Role Registered is active.
But is a "module by module" action...

You can take a look in this discussion about the subject.
They mention the possibility of using OutDoc (a Forge application) to convert a binary OML into an XML and probably you can find the information there.

If the information is there, than maybe you can automate this task. You would have to adapt OutDoc, and see if its possible to pass the OML stored in the database directly to it, instead of a file, and than parse the XML to find the information.

Cheers,
Eduardo Jauch