There should be simple methods for checking if a web user is authenticated and authorized. Basically, you check a cookie value for a session ID, check if that session ID maps to an authentic user account, and then check if that user account has authorizations.
Of course, is_authenticated should probably also trigger session timeouts.
I'm making some good progress here. I've created some methods like Koha::Auth->is_authenticated and Koha::Auth->is_authorized, and then implemented those in a Mojolicious application mounted in plack.psgi at 'intranet/staff'. (The Koha::Auth->is_authenticated is used to cover all routes in the Mojo startup() function, while Koha::Auth->is_authorized is implemented in a "helper", which allows it to be easily and cleanly used in Mojo controller actions.) I need to refactor C4::Auth to create a "is_timed_out" function and add that to Koha::Auth->is_authenticated, but otherwise these should be nearly ready. I should probably rename "is_authorized" to "authorize" as it actually authorizes the user. The "is_authenticated" is just a check though. If it fails, the plan is to redirect the user to a login page or internally use a Mojo login controller. I need to put some more thought into that.
Actually, I might just merge this into Bug 26791 to help testers...
*** This bug has been marked as a duplicate of bug 26791 ***