SlideShare a Scribd company logo
1 of 14
Basic Security with Access
    Levels and Roles
Overview
Objective
Learn how to use access levels and user levels to restrict
or allow access of content to a user..
Requirements
 Installed version of ProdigyView with database
 Understanding of how to create a user
 Understanding of how to create user roles
Estimated Time
12 Minutes
                     www.prodigyview.com
Follow Along With Code
           Example
1. Download a copy of the example code at
  www.prodigyview.com/source.

2. Install the system in an environment you feel
  comfortable testing in.

3. Proceed to examples/security/Roles_Access.php
Roles and Access Levels
ProdigyView implements a dual verification for checking if a user
has the required security clearance to access an area.

Access Level

Access levels is the least complicated way of verifying if a user has
the required permission. Access levels are numbers and if a user is
below a certain number, access is denied.

Roles

Roles are a little more complicated but create a more robust
verification. A user can have multiple roles and anyone of those
roles can allow access to an area.

Also remember access level and roles can be combined.
                          www.prodigyview.com
Creating A Role
One major difference between access levels and roles is
access level do not have to be created but only assigned to
a user. Roles on the other hand have to be created. Let’s
take a moment to create a role or two.




                       www.prodigyview.com
Users with Permissions
  Ok great, we have our user roles. Now let’s create a user
  with an access level and a role. They are both easily
  defines in the arguments that are used to create a user.
  Lets gives them an access level of 2 and the role of
  ‘Administrator’.

1. Assign the user an access level            2. Assign the user a role




                         3. Create the user
Checking Access Level
So in our example we created a user with the access level of 2.
Access level is numeric verification where the number assigned
to the user must be greater an or equal too the number we are
checking against. Let’s put that to the test.


      1. The id of the user              2. The numeric level to check against




                          3. Check with method checkUserAccessLevel

                              www.prodigyview.com
And the results are...




And looks like the results hold true. I want to take a moment to explain
something for viewers who might not know the ? : syntax we will be
using. Whenever you come across an expression like:

$value = (exp1) ? exp2 : exp3;

This actually means if the value from expression 1 is true, the display
contents from expression 2. If value from expression 1 is false, then
display expression 3. We will use this a lot.
User Role Checks
Now we are going to the roles by using the
PVSecurity::checkUserRole() method. The roles passed can
either be the id of the role or the actual name of the role. And
when roles are passed through the method they can either be
as a single value or in an array. Let’s take a look.

   1. Id of the user                  2. Name of the role




                       3. Add the roles in an array to check
Role Check Results




The role check results should look like the above.
According to the role we added in our
example, ‘Administrator’ those results are correct.



                      www.prodigyview.com
Adding a role and checking
For a final test, let’s add a role to the user and then check.
With the code below, the user will now have access too
super administrator roles.




                       www.prodigyview.com
Challenge!
This optional challenge is designed to help you better
understand ProdigyView.



Now that you have an understanding of Access Levels
and User Roles, write a script that will block a user unless
both the access level and user role requirements are met.
Also find a way to update the user’s access level.




                      www.prodigyview.com
Summary
1. Check the user’s access level by using the method:
   PVSecurity::checkUserAccessLevel()

2. Check the user’s role by using the method:
   PVSecurity::checkUserRole()




                     www.prodigyview.com
API Reference
For a better understanding of access levels and role access
in ProdigyView, visit the api by clicking on the link below.

PVSecurity




                   More Tutorials
  For more tutorials, please visit:

  http://www.prodigyview.com/tutorials


                         www.prodigyview.com

More Related Content

More from ProdigyView

More from ProdigyView (19)

HTML5 Tags and Elements Tutorial
HTML5 Tags and Elements TutorialHTML5 Tags and Elements Tutorial
HTML5 Tags and Elements Tutorial
 
HTML Forms Tutorial
HTML Forms TutorialHTML Forms Tutorial
HTML Forms Tutorial
 
Html Tags Tutorial
Html Tags TutorialHtml Tags Tutorial
Html Tags Tutorial
 
Video Conversion PHP
Video Conversion PHPVideo Conversion PHP
Video Conversion PHP
 
Sending Email Basics PHP
Sending Email Basics PHPSending Email Basics PHP
Sending Email Basics PHP
 
Tools ProdigyView
Tools ProdigyViewTools ProdigyView
Tools ProdigyView
 
Custom Validation PHP
Custom Validation PHPCustom Validation PHP
Custom Validation PHP
 
Basic File Cache Tutorial - PHP
Basic File Cache Tutorial - PHPBasic File Cache Tutorial - PHP
Basic File Cache Tutorial - PHP
 
Understanding Web Cache
Understanding Web CacheUnderstanding Web Cache
Understanding Web Cache
 
Javascript And CSS Libraries
Javascript And CSS LibrariesJavascript And CSS Libraries
Javascript And CSS Libraries
 
PHP Libraries
PHP LibrariesPHP Libraries
PHP Libraries
 
SQL Prepared Statements Tutorial
SQL Prepared Statements TutorialSQL Prepared Statements Tutorial
SQL Prepared Statements Tutorial
 
Database Basics
Database BasicsDatabase Basics
Database Basics
 
Implementing the Adapter Design Pattern
Implementing the Adapter Design PatternImplementing the Adapter Design Pattern
Implementing the Adapter Design Pattern
 
Intercepting Filters Design Pattern
Intercepting Filters Design PatternIntercepting Filters Design Pattern
Intercepting Filters Design Pattern
 
Creating Dynamic Objects PHP
Creating Dynamic Objects PHPCreating Dynamic Objects PHP
Creating Dynamic Objects PHP
 
PV Standard Search Query
PV Standard Search QueryPV Standard Search Query
PV Standard Search Query
 
Prodigyview XML COnfiguration File
Prodigyview XML COnfiguration FileProdigyview XML COnfiguration File
Prodigyview XML COnfiguration File
 
Learning PHP Basics Part 2
Learning PHP Basics Part 2Learning PHP Basics Part 2
Learning PHP Basics Part 2
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

Security with User Roles and Access Levels

  • 1. Basic Security with Access Levels and Roles
  • 2. Overview Objective Learn how to use access levels and user levels to restrict or allow access of content to a user.. Requirements  Installed version of ProdigyView with database  Understanding of how to create a user  Understanding of how to create user roles Estimated Time 12 Minutes www.prodigyview.com
  • 3. Follow Along With Code Example 1. Download a copy of the example code at www.prodigyview.com/source. 2. Install the system in an environment you feel comfortable testing in. 3. Proceed to examples/security/Roles_Access.php
  • 4. Roles and Access Levels ProdigyView implements a dual verification for checking if a user has the required security clearance to access an area. Access Level Access levels is the least complicated way of verifying if a user has the required permission. Access levels are numbers and if a user is below a certain number, access is denied. Roles Roles are a little more complicated but create a more robust verification. A user can have multiple roles and anyone of those roles can allow access to an area. Also remember access level and roles can be combined. www.prodigyview.com
  • 5. Creating A Role One major difference between access levels and roles is access level do not have to be created but only assigned to a user. Roles on the other hand have to be created. Let’s take a moment to create a role or two. www.prodigyview.com
  • 6. Users with Permissions Ok great, we have our user roles. Now let’s create a user with an access level and a role. They are both easily defines in the arguments that are used to create a user. Lets gives them an access level of 2 and the role of ‘Administrator’. 1. Assign the user an access level 2. Assign the user a role 3. Create the user
  • 7. Checking Access Level So in our example we created a user with the access level of 2. Access level is numeric verification where the number assigned to the user must be greater an or equal too the number we are checking against. Let’s put that to the test. 1. The id of the user 2. The numeric level to check against 3. Check with method checkUserAccessLevel www.prodigyview.com
  • 8. And the results are... And looks like the results hold true. I want to take a moment to explain something for viewers who might not know the ? : syntax we will be using. Whenever you come across an expression like: $value = (exp1) ? exp2 : exp3; This actually means if the value from expression 1 is true, the display contents from expression 2. If value from expression 1 is false, then display expression 3. We will use this a lot.
  • 9. User Role Checks Now we are going to the roles by using the PVSecurity::checkUserRole() method. The roles passed can either be the id of the role or the actual name of the role. And when roles are passed through the method they can either be as a single value or in an array. Let’s take a look. 1. Id of the user 2. Name of the role 3. Add the roles in an array to check
  • 10. Role Check Results The role check results should look like the above. According to the role we added in our example, ‘Administrator’ those results are correct. www.prodigyview.com
  • 11. Adding a role and checking For a final test, let’s add a role to the user and then check. With the code below, the user will now have access too super administrator roles. www.prodigyview.com
  • 12. Challenge! This optional challenge is designed to help you better understand ProdigyView. Now that you have an understanding of Access Levels and User Roles, write a script that will block a user unless both the access level and user role requirements are met. Also find a way to update the user’s access level. www.prodigyview.com
  • 13. Summary 1. Check the user’s access level by using the method: PVSecurity::checkUserAccessLevel() 2. Check the user’s role by using the method: PVSecurity::checkUserRole() www.prodigyview.com
  • 14. API Reference For a better understanding of access levels and role access in ProdigyView, visit the api by clicking on the link below. PVSecurity More Tutorials For more tutorials, please visit: http://www.prodigyview.com/tutorials www.prodigyview.com