Don't Seem to get the svySecurityExamlpeSolution in the Docs

Hi all,

I’m new to Servoy and was trying to set up the svySecurity module by following the Getting Started guide Getting Started · Servoy/svySecurity Wiki · GitHub. But I’m stuck because I can’t find the svySecurityExample solution that’s supposed to be part of the tutorial. I saw an old post https://forum.servoy.com/viewtopic.php?f=8&t=23200&p=122246&hilit=svySecurityExample#p122246 asking about it, but there wasn’t a clear answer. Is it a sample project that should be downloaded from github or a solution/module added from the Servoy Package Manager?

Thanks,
Abun

Hi Abun,

Welcome to Servoy! I think the sample solution that you mentioned was included in an old release (before Servoy had a package manager). You can install the following from the SPM:

  • svySecurity: This is the core module, having only API and base forms
  • svySecurityUX: This includes a boiler-plate UI, having some template screens for managing users, roles, etc.
  • svySecurityConsole: This is a stand-alone application, which allows you to view/manage security on a deployed system (so not built into your app per se)

What kind of application are you building? Are you a software vendor having a multi-tenant setup? Or do your end users need the ability to also add users and assign roles/permissions. If so, then the svySecurity modules will be helpful.

If you have simple security requirements, then you can use the User/Permission editor in Servoy Developer and the built-in security API. That is more simple, but does not have roles, tenants and other more complex features.

I hope this helps.

Sean

sean:
Hi Abun,

Welcome to Servoy! I think the sample solution that you mentioned was included in an old release (before Servoy had a package manager). You can install the following from the SPM:

  • svySecurity: This is the core module, having only API and base forms
  • svySecurityUX: This includes a boiler-plate UI, having some template screens for managing users, roles, etc.
  • svySecurityConsole: This is a stand-alone application, which allows you to view/manage security on a deployed system (so not built into your app per se)

What kind of application are you building? Are you a software vendor having a multi-tenant setup? Or do your end users need the ability to also add users and assign roles/permissions. If so, then the svySecurity modules will be helpful.

If you have simple security requirements, then you can use the User/Permission editor in Servoy Developer and the built-in security API. That is more simple, but does not have roles, tenants and other more complex features.

I hope this helps.

Sean

Hi Sean,

Thank you for your prompt response regarding the svySecurityExample solution and for clarifying that it is a dated one. The svySecurity module available through SPM makes more sense.

I am currently exploring the svySecurity module. After creating a solution, adding a login form and a few more forms that a user would access depending on their privilege level and whether they belong to the same tenant, I added the svySecurity module. However, I’m a bit uncertain about the next steps, specifically on how to effectively utilize the API after this initial setup. Worth mentioning that I created groups and users from the User/Group security tab.

If there is any hands-on guide or resource that could assist me in this process, I would greatly appreciate it. I found this https://github.com/Servoy/svySecurity/wiki/Overview quite informative but would be incredibly useful if there is a Getting Started kind of resource that is more hands-on.

I am working on a product already built using Servoy, and am now looking to incorporate a multi-tenant architecture.

Thanks for the warm welcome and for your assistance, Sean.

Abun

Hi Abun,

OK, you will need the svySecurity module because managing users through the security editor in the Servoy Developer will be insufficient for a multi-tenant architecture. You will however manage application permissions at design-time this way and expose them from the developer to the runtime module. For example, a developer can create a named permission and link it UI controls and data privileges and auditing.

You will need to create a connection called “svy_security” to an empty database. (The module will create the schema when you run it for the first time.)

After this step, you can begin to use the API. While the getting started guide does reference the outdated sample solution, the API documentation is current.

The API will allow you to create tenants and users and assign roles and permissions. The permissions that you created at design-time will be available via the API to assign to roles. You can also extend the base login form to manage the authentication flow for the system.

You can also get a good example of this if you install the svySecurityUX solution.

I hope this helps.

Sean