Problem
The config setting BlockDisablesLogin is used to use blocking to prevent users from logging in. If this config setting is set to true:
$wgBlockDisablesLogin = true;
then the user inherits the same permissions as anon until they log out. After they log out, they are unable to login (even if they are only partially blocked).