Added login_required() decorator with optional "message" parameter