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.

Register observer for event controller_action_predispatch

    <frontend>
        <events>
            <controller_action_predispatch>
                <observers>
                    <vendoe_extensionname>
                        <class>{MODEL ALIAS}/observer</class>
                        <method>preDispatch</method>
                    </vendoe_extensionname>
                </observers>
            </controller_action_predispatch>
        </events>
    </frontend>

Add preDispatch method to \Vendor\ExtensionName\Model\Observer

    
    /**
     * 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);
        }
    }