Disallow all routes except customer/*/* for not logged users.
Redirect to customer/account/login
from any not customer/*/*
routes. Well suited for use to close the store from not logged users/customers.
<frontend>
<events>
<controller_action_predispatch>
<observers>
<vendoe_extensionname>
<class>{MODEL ALIAS}/observer</class>
<method>preDispatch</method>
</vendoe_extensionname>
</observers>
</controller_action_predispatch>
</events>
</frontend>
/**
* Disallow all routes except `customer`
*
* @event controller_action_predispatch
* @param Varien_Event_Observer $observer
*
* @return \Vendor_ExtensionName_Model_Observer
*/
public function preDispatch(Varien_Event_Observer $observer)
{
if( Mage::app()->getRequest()->getRouteName() === 'customer' ) {
return $this;
}
$controller = $observer->getControllerAction();
if ( ! Mage::getSingleton('customer/session')->authenticate($controller) ) {
$controller->setFlag('', 'no-dispatch', true);
}
}