I have a portal app and when a user logs in I want to force them to agree to the latest terms and conditions (t&cs) before using the system.
So once a user logs in I check to see if they have agreed to our latest t&cs (via a custom object relationship), if they haven't I send them to an agree page. The issue is they can just go to any page without agreeing to it.
I have come up with 2 alternatives to fix this. One is implementing a before_filter type logic that we can hook into every page in our app --- see here --before_filter for all pages & controllers
The other option is to log them in, check this, then log them out and take them to the agreement page and make them re-login and agree. The problem with this is there is no server side logout --- apex method for logout from force.com site
I dont love either of these options and was hoping someone has a better idea/approach.