* Moved all Solar_Auth_Login to Solar_Auth_Login_Adapter * Moved all Solar_Auth_Logout to Solar_Auth_Logout_Adapter * Moved all Solar_Auth_Storage to Solar_Auth_Storage_Adapter * Added Solar_Auth_Login_Multi * Added Solar_Auth_Logout_Multi * Added Solar_Auth_Storage_Multi * Solar_Auth now uses the Solar-standard dependency mechanism instead of trying to loop through login, logout, and storage adapters on its own. Use the "Multi" adapters as needed to achieve the previous behavior of stacked protocol and storage objects. * Added tests from old auth system and modified them to suit this new system
…asily extend this class
cookie. The Logout action on the Auth adapter now ends the session and removes the cookie.
Allow more than one logout protocol to be used at the same time.
represent its function and avoid confusion with identical method on access adapter. Split the option to control login and logout separately.
…instead of doing it ourself.
We weren't using the expiration capability that the cache object provided. We need to access session capabilities that it does not make sense to expose on the cache object. With Solar_Session_Manager_Adapter_None, we no longer need the ability to substitute Solar_Cache_Adapter_None for Solar_Cache_Adapter_Session.
Solar_Auth becomes a straghtforward class instead of a Solar_Factory. Since there is no variability at that level, there is no need for a top level adapter/factory pattern any longer.
Factory classes are now identified using "instanceof Solar_Factory", not by the exitence of a solarFactory() method. The Solar::factory() method takes this into account. The following classes now extend Solar_Factory and have their (identical) solarFactory() methods removed: * Solar_Access * Solar_Auth * Solar_Cache * Solar_Http_Request * Solar_Log * Solar_Mail_Transport * Solar_Role * Solar_Session_Handler * Solar_Smtp * Solar_Sql
…on the next line, not the same line. Thanks, agarcia, for pointing this out.
…(class-level only is OK when it's 1 class per file)
…factory classes now use $_config directly.
…tory method name (vice 'factory')
…output started at line X" error due trailing newlines in scripts
…he adapter keys when they should not.
Solar_Auth: * [BRK] Is now a factory class, not a facade, and returns adapter instances instead of an instance of itself. Although I note this as a BC-break, you should be able to continue using it almost exactly the way you have; i.e., through Solar::factory(). The only difference should be that you get back an adapter instance instead of the facade instance. * [BRK] Moved locale files to Solar/Auth/Adapter/Locale. Solar_Auth_Adapter: * [BRK] Now contains all the methods and properties previously contained in the facade wrapper. I note this as a BC break, but if you have been using Solar::factory() all along, you should experience few if any problems on upgrade. * [BRK] No more use of the 'common' config key; since adapters are factoried (not behind a facade) those elements can become part of the regular config array. Solar_Auth_Adapter_*: * [CHG] Each adapter now sets public values for $this->handle, email, uri, and moniker (as needed) instead of the protected versions.
…t of numeric user IDs reported by adapters
converted \\code\\ to `code` converted ": term : definition" to "term: \n definition"