You're on the right track with AlfrescoNavigationHandler. Almost all navigation around the application goes via this class so you should be able to audit, but you will have to make sure you cover all routes as there are several.
Some requests however do get handed off to the original JSF navigation handler, so for these you would have to dig a little deeper. It may also be worth looking into JSF phase listeners, you may be able to determine what you need by plugging one of those in.