That is the same as my method, but on each of the access pages i have an if statement stating that if a member has a access level of say 3, then they are denied access to pages with an access level of 1 & 2.
Each page has a different level specified at the top with a variable, $pageaccess = 1;
Then with the include menu which i usually do, do another if statement hiding the options certain users cannot see.
It gets quite complicated but once the ball gets rolling you should come up with all sorts of ideas.