Authentication and Authorization in PHP: Role-Based Access Control
Authentication and Authorization in PHP: Role-Based Access Control
Matthew Setter
PHP SECURITY ENGINEER
@settermjd matthewsetter.com
Module Overview
– Learn about Role-based Access Control
– What it is
– How it works
– Its advantages and disadvantages
– How to implement it in PHP
What is Role-based Access Control?
“Role-Based Access Control, or RBAC, provides
web application security administrators with the
ability to determine who can perform what
actions, when, from where, in what order, and in
some cases under what relational
circumstances. In Role-Based Access Control,
access decisions are based on an individual's
roles and responsibilities within the organization
or user base.”
Role-based Access Control - OWASP
“RBAC can be used to facilitate
administration of security in large
organizations with hundreds of
users and thousands of
permissions, such as those in the
Fortune 500 companies.”
Role-based Access Control - Wikipedia
Differences to Access Control Lists
check profiles
A Theoretical Model
IT change
search suspend
user
users user
password
Security Helpdesk
Manager add update delete
user user user
Jane Michael
Helpdesk
Operator
A Theoretical Model
IT
change
search suspend
user
users user
password
Security Helpdesk
Manager
Jane Michael
add update delete
user user user
Helpdesk
Operator
A Theoretical Model
IT
add
user
change
search suspend
user
users user
password
A Theoretical Model
IT
add
user
change
search suspend
user
users user
password
A Theoretical Model
IT
add
user
delete
Helpdesk user
Operator
Michael change
search suspend
user
users user
password
A Theoretical Model
IT
add
user
delete
Helpdesk user
Operator
Michael change
search suspend
user
users user
password
A Theoretical Model
IT
add
user
delete
Helpdesk user
Operator
Michael change
search suspend
user
users user
password
Quick Recap
IT
add
user
delete
Helpdesk user
Operator
Michael change
search suspend
user
users user
password
Disadvantages