Good question. The one without force_login goes as follows: ilStartUpGUI::showLoginPageOrStartupPage() notices the user has a session (
Valid session -> redirect to starting page
in debug log), then in ilInitialisation::redirectToStartingPage() the function goToPublicSection()
is called. So in order to achieve what you want, I woud probably hack a redirect to the /login.php?cmd=force_login into class.ilInitialisation.php#L1908 and remove the goToPublicSection() there. (The code says, "fallback, should never happen" anyway ;-)