From b90432cb26364ca8e87bd39cc7ebc7961b650acb Mon Sep 17 00:00:00 2001 From: Antony Thorpe Date: Sun, 26 Apr 2015 18:16:13 +1200 Subject: [PATCH] Update 03_Authentication.md Create a list to improve presentation on the silverstripe.org website. Hopefully this works. The API descriptions/links are currently missing. --- .../09_Security/03_Authentication.md | 25 +++++++------------ 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/docs/en/02_Developer_Guides/09_Security/03_Authentication.md b/docs/en/02_Developer_Guides/09_Security/03_Authentication.md index 8a7033a3b..03e376dc5 100644 --- a/docs/en/02_Developer_Guides/09_Security/03_Authentication.md +++ b/docs/en/02_Developer_Guides/09_Security/03_Authentication.md @@ -7,25 +7,20 @@ By default, SilverStripe provides a `[api:MemberAuthenticator]` class which hook authentication system. The main login system uses these controllers to handle the various security requests: - -`[api:Security]` Which is the controller which handles most front-end security requests, including +* `[api:Security]` Which is the controller which handles most front-end security requests, including Logging in, logging out, resetting password, or changing password. This class also provides an interface - to allow configured `[api:Authenticator]` classes to each display a custom login form. - -`[api:CMSSecurity]` Which is the controller which handles security requests within the CMS, and allows + to allow configured `[api:Authenticator]` classes to each display a custom login form. +* `[api:CMSSecurity]` Which is the controller which handles security requests within the CMS, and allows users to re-login without leaving the CMS. ## Member Authentication The default member authentication system is implemented in the following classes: - -`[api:MemberAuthenticator]` Which is the default member authentication implementation. This uses the email - and password stored internally for each member to authenticate them. - -`[api:MemberLoginForm]` Is the default form used by `MemberAuthenticator`, and is displayed on the public site +* `[api:MemberAuthenticator]` Which is the default member authentication implementation. This uses the email + and password stored internally for each member to authenticate them. +* `[api:MemberLoginForm]` Is the default form used by `MemberAuthenticator`, and is displayed on the public site at the url `Security/login` by default. - -`[api:CMSMemberLoginForm]` Is the secondary form used by `MemberAuthenticator`, and will be displayed to the +* `[api:CMSMemberLoginForm]` Is the secondary form used by `MemberAuthenticator`, and will be displayed to the user within the CMS any time their session expires or they are logged out via an action. This form is presented via a popup dialog, and can be used to re-authenticate that user automatically without them having to lose their workspace. E.g. if editing a form, the user can login and continue to publish their content. @@ -34,12 +29,10 @@ The default member authentication system is implemented in the following classes Additional authentication methods (oauth, etc) can be implemented by creating custom implementations of each of the following base classes: - -`[api:Authenticator]` The base class for authentication systems. This class also acts as the factory +* `[api:Authenticator]` The base class for authentication systems. This class also acts as the factory to generate various login forms for parts of the system. If an authenticator supports in-cms reauthentication then it will be necessary to override the `supports_cms` and `get_cms_login_form` methods. - -`[api:LoginForm]` which is the base class for a login form which links to a specific authenticator. At the very +* `[api:LoginForm]` which is the base class for a login form which links to a specific authenticator. At the very least, it will be necessary to implement a form class which provides a default login interface. If in-cms re-authentication is desired, then a specialised subclass of this method may be necessary. For example, this form could be extended to require confirmation of username as well as password.