Overview
Liferay Portal 5 and 6 support different permission algorithms.
Liferay Portal 5.2.x and 6.0.x supported permission algorithm 5. In addition, Liferay Portal 6.0.x introduced permission algorithm 6.
Brian Chan states, "Algorithm 6 is an improved version of Algorithm 5. It provides the exact same functionality, but reduces database size by 66%."
Please refer to the References section (below) for related links on permission algorithm 5 and 6.
If you are using Liferay Portal 5.2.x, you will be using permission algorithm 5.
But, if you are using Liferay Portal 6.0.x, you could be using permission algorithm 5 or 6.
How do you check which permission algorithm is active in Liferay Portal 6.0.x ?
Permission Algorithm Checks
Check 1 - Check Active Permission Algorithm Using System Admin Control Panel
- Navigate to "Control Panel > Server Administration > Properties > Portal Properties"
- Find property "permissions.user.check.algorithm" and confirm the value is 6.

Check 2 - Review Liferay Portal Database Tables
Permission algorithm 6 relies upon different tables and data in the database schema.
Review the row counts for the "Permission_" and "Resource_" tables.
| Table Name | LP 5.2.x Row Count | LP 6.0.x Row Count |
|---|---|---|
| Permission_ | 31+ | 0 |
| Resource_ | 20+ | 0 |
If permission algorithm 6 is active, the row count for the "Permission_" and "Resource_" tables will be 0 (empty).
References
- Permission Algorithms
- The New Liferay Permission Algorithm (a.k.a. 5, a.k.a RBAC)
- Proposing more permission optimizations
- Security Algorithm 6, bitwise based permission scheme


