Espace, users, roles

Dear All,

I am developing a use case wherein I need the following w.r.to Users and roles.

1. I have a module in my espace (Web). Say ModuleX in the Web application X.

2. This module needs to have 3 users,each having a different role, based on which, they have a specified set of activities to be done (BPM).

Now the issue is, if I use a different module (Say by using "How2UserRegistration" module on Forge), then the role association happens, but to a different espace. It doesn't associate the role of the user created to my module "ModuleX".

3. If I use the functionalities of '"How2UserRegistration" module in my "ModuleX", then that woudn't be comfortable for the client (End user).

4. I even tried, using Lifetime, but I couldn't find my application users over there, nor I could associate them to the application roles there. I am not sure, whether the users and roles in Lifetime are the same as in the users and roles defined in the espace.

So, my question is, how can I design the user and roles for my own module, which grants the specific roles to the users of that module. This can be in-built, or to be in such a way that, client should be able to grant roles from front end, before he starts using "ModuleX".

Pls advice.

With Best Regards,

Smitha

Solution

Hi Smitha,

Please, refers to this documentation.

https://success.outsystems.com/Documentation/11/Developing_an_Application/Secure_the_Application/End-User_Management

https://success.outsystems.com/Documentation/10/Developing_an_Application/Secure_the_Application/User_Roles/Create_an_End-User_and_Grant_Roles

Refer also to the ONLINE training material.

Pay attention to the following:

Users are not bound to modules.

Roles are bound to modules, but can be public and used by other modules.

You can use the USERS application to create application users and set their roles. Lifetime is for IT users.

You can also create and grant or revoke roles for users programmatically.

In general, set the User Provider of a module to Users (the default), not to current module or anything else (unless you know what you're doing).

Hope this helps.


Solution

Hi Eduardo,

Thanks for your quick revert, much appreciate.

I have referred the online material several times. However, getting a bit confused while applying to my use case.

I am aware that Lifetime is not for Application users, neverthless tried that option also, just to be sure.

1. Regarding, users for my module, what I meant is, I would be using these specific users for my application (module) alone.

2. When you say, I can user "USERS" application to create users and set their roles, do you mean that I develop another application (Say Y), wherein I write code to call "CreateUser" action and explicitly give "GrantRoleNameRole"? and Also should I ensure to set those roles as public, so that they can be accessed in my other application "X"?

3. Should I be giving access of this custom application to Client, for creating his users and to grant the roles required to be used by my other application X? Or would the above step 2 be sufficient?

I would want to create users and their respective roles beforehand, so that Client has to just login as those users into my web application "X" and go ahead with his activities.

Can you pls help in clarifying these queries.

With regards,

Smitha


Hi,

You didn't look into the links I sent you, right? ;)

Please, Take a look in this video. It explains everything you need to know about application users and roles.

https://www.outsystems.com/learn/lesson/1763/role-based-security/

Cheers

Hi,

I did look into the articles and the video as well.

However, probably the problem lies in the accesses I have. 

When I try to access "Users" from the front end, through my environment link <<myenv>>outsystemscloud.com/users/ , I get "Application Temporarily Unavailable". 

I hope you obviously didn't mean to access IT users using <<myenv>>outsystemscloud.com/Lifetime/users/. This is accessible though.

Regards

Hello Smitha,

You are right, I meant the <yourenv>outsystemscloud.com/users/

This application should not be "unavailable".

Please, open a support ticket and talk to the support about it, as this application, being a system application, should be always available.

Cheers.

I am glad to inform that, I could figure out the issue. 

The "Users" espace was disabled in my environment, which caused the confusion.

Thanks for all the help provided.

With Best regards,

Smitha