Recently, while I was working on a new website, and doing all sorts of experiments including access control related modules, I ended up receiving "Access denied.
You are not authorized to access this page" message.
I double checked the permissions settings in the admin pages, and they all seemed to be configured correctly.
I un-installed every module that looked suspicious, but still got the same message.
I then went another direction to search for the problem, and checked the db.
The node_access table should have had at least 1 default row, which was missing in this case. The missing default row is the one that grants view permissions to nodes to all users.
If you experience the same, check your db's node_access table if it includes this default row. If the row is missing, you can execute the following Sql query:
INSERT INTO node_access VALUES (0, 0, 'all', 1, 0, 0);
Good luck!