abstract controller, logout controller