Awesome, this seems like the best way to do permissions in a CMS. Yes? No?
Maybe, I've never really done it that way. What I have done is used bitwise operators to store a whole bunch of "yes or no" settings in a single number in a single column in the database.
I guess for permissions, this way would work good if you want to store permissions in the database. If someone wants to post some content, and only wants admins and editors to see it, you just have to store the result of
($editor | $admin)
into the database, then to check it, do something like
if ($user & $database_row['permissions']) {
// display content
} else {
// display permissions error
}