jinmeiliao commented on a change in pull request #6928:
URL: https://github.com/apache/geode/pull/6928#discussion_r720517064
##########
File path: geode-docs/managing/security/implementing_authentication.html.md.erb
##########
@@ -23,151 +23,150 @@ Authentication lends a measure of security to a cluster
by verifying the identity of components as they connect to the system.
All components use the same authentication mechanism.
-## How Authentication Works
+## <a id="authentication-how-it-works"></a>How Authentication Works
When a component initiates a connection to the cluster,
the `SecurityManager.authenticate` method is invoked.
The component provides its credentials in the form of properties
as a parameter to the `authenticate` method.
-The credential is presumed to be the two properties
+The credentials parameter is presumed to be a user/password combination,
specified as the two properties
Review comment:
they don't have to be user/password combinations, they could be tokens,
or certificates or username/password combinations.
##########
File path: geode-docs/managing/security/implementing_authentication.html.md.erb
##########
@@ -23,151 +23,150 @@ Authentication lends a measure of security to a cluster
by verifying the identity of components as they connect to the system.
All components use the same authentication mechanism.
-## How Authentication Works
+## <a id="authentication-how-it-works"></a>How Authentication Works
When a component initiates a connection to the cluster,
the `SecurityManager.authenticate` method is invoked.
The component provides its credentials in the form of properties
as a parameter to the `authenticate` method.
-The credential is presumed to be the two properties
+The credentials parameter is presumed to be a user/password combination,
specified as the two properties
`security-username` and `security-password`.
The `authenticate` method is expected to either return an object
representing a principal or throw an `AuthenticationFailedException`.
A well-designed `authenticate` method will have a set of known user and
password pairs that can be
-compared to the credential presented or will have a way of obtaining those
pairs.
+compared to the credentials presented or will have a way of obtaining those
pairs.
-## How a Server Sets Its Credential
+## <a id="authentication-server-set-creds"></a>How a Server Sets Its
Credentials
-In order to connect with a locator that does authentication,
-a server will need to set its credential, composed of the two properties
+In order to connect with a locator that performs authentication,
+a server must set its credentials, a username and password specified as the
two properties
`security-username` and `security-password`.
-Choose one of these two ways to accomplish this:
-
-- Set `security-username` and `security-password` in the server's
-`gfsecurity.properties` file that will be read upon server start up,
-as in the example
-
- ``` pre
- security-username=admin
- security-password=xyz1234
- ```
- The user name and password are stored in the clear, so the
- `gfsecurity.properties` file must be protected by restricting access with
- file system permissions.
-
-- Implement `AuthInitialize` interface for the server.
-
- - Set the property `security-peer-auth-init`,
- so that an object of the class that implements the `AuthInitialize`
- interface will be instantiated.
- Set the property to one of these two values:
-
- - Set property `security-peer-auth-init` to the fully-qualified
- class name that implements the `AuthInitialize` interface
- as in the example
-
- ``` pre
- security-peer-auth-init=com.example.security.ServerAuthenticate
- ```
- - Set property `security-peer-auth-init` to the fully-qualified
- method name of a method that instantiates an object of the class
- that implements the `AuthInitialize` interface
- as in the example
-
- ``` pre
- security-peer-auth-init=com.example.security.ServerAuthenticate.create
- ```
-
- - Implement the `getCredentials` method within the `AuthInitialize`
- interface to acquire values for
- the `security-username` and `security-password` properties
- in whatever way it wishes.
- It might look up values in a database or another external resource.
-
-Gateway senders and receivers communicate as a component of their
-server member.
-Therefore, the credential of the server become those of the gateway
-sender or receiver.
-
-## How a Client Cache Sets Its Credential
-
-In order to connect with a locator or a server that does authentication,
-a client will need to set its credential, composed of the two properties
+Choose one of two ways to set the server credentials:
+
+- Add settings to the server properties file, or
+- Implement the `AuthInitialize` interface for the server
+
+### <a id="authentication-setserverprops"></a>Add Settings to the Server
Properties File
+
+Set `security-username` and `security-password` in the server's
+`gfsecurity.properties` file, which is read upon server startup.
+For example:
+
+``` pre
+security-username=admin
+security-password=xyz1234
+```
+The username and password are stored in the clear, so the
+`gfsecurity.properties` file must be protected by restricting access with
+file system permissions.
+
+### <a id="authentication-implementserverinterface"></a>Implement the
AuthInitialize Interface for the Server
+
+To implement the `AuthInitialize` interface for the server, set the
+`security-peer-auth-init` property so that an object of the class that
implements the `AuthInitialize`
+interface will be instantiated. There are two ways to do this:
+
+- You can set the `security-peer-auth-init` property to the fully-qualified
class name that implements
+ the `AuthInitialize` interface as in the example
+
+ ``` pre
+ security-peer-auth-init=com.example.security.ServerAuthenticate
+ ```
+
+- You can set the `security-peer-auth-init` property to the fully-qualified
method name of a method
+that instantiates an object of the class that implements the `AuthInitialize`
interface as in the
+example
+
+ ``` pre
+ security-peer-auth-init=com.example.security.ServerAuthenticate.create
+ ```
+
+Implement the `getCredentials` method within the `AuthInitialize` interface to
acquire values for
+the `security-username` and `security-password` properties in whatever way you
wish. For example,
+it might look up values in a database or another external resource.
+
+Gateway senders and receivers communicate as components of their respective
server members. Therefore, the
+credentials of the server become those of the gateway sender or receiver.
+
+## <a id="authentication-client-set-creds"></a>How a Client Cache Sets its
Credentials
+
+In order to connect with a locator or a server that performs authentication,
+a client must set its credentials, a username and password specified as the
two properties
`security-username` and `security-password`.
-Follow these steps to accomplish this:
+composedou must perform two actions to set to set the client credentials:
+
+- Implement the `AuthInitialize` interface for the client
+- Provide `Authinitialize.getCredentials()` with secure access to the client
credentials
+
+### <a id="authentication-implementclientinterface"></a>Implement the
AuthInitialize Interface for the Client
+
+To implement the `AuthInitialize` interface for the client, set the
`security-client-auth-init` property,
+so that an object of the class that implements the `AuthInitialize` interface
will be instantiated.
+There are two ways to do this:
+
+- You can set the `security-client-auth-init` property to the fully-qualified
+class name that implements the `AuthInitialize` interface as in the example:
-- Implement `AuthInitialize` interface for the client.
+ ``` pre
+ security-client-auth-init=com.example.security.ClientAuthInitialize
+ ```
- - Set the property `security-client-auth-init`,
- so that an object of the class that implements the
- `AuthInitialize` interface will be instantiated.
- Set the property to one of these two values:
+- You can set the `security-client-auth-init` property to the fully-qualified
+name of a static method that instantiates an object of the class
+that implements the `AuthInitialize` interface as in the example
- - Set property `security-client-auth-init` to the fully-qualified
- class name that implements the `AuthInitialize` interface:
+ ``` pre
+ security-client-auth-init=com.example.security.ClientAuthInitialize.create
+ ```
- ``` pre
- security-client-auth-init=com.example.security.ClientAuthInitialize
- ```
- - Set property `security-client-auth-init` to the fully-qualified
- name of a static method that instantiates an object of the class
- that implements the `AuthInitialize` interface:
+Implement the `getCredentials` method of the `AuthInitialize` interface for
the client to acquire values for
+the `security-username` and `security-password` properties in whatever way
+wish. For example, it might look up values in a database or another external
resource,
+or it might prompt for values.
- ``` pre
-
security-client-auth-init=com.example.security.ClientAuthInitialize.create
- ```
- - Implement the `getCredentials` method of the `AuthInitialize` interface
- for the client.
- The implementation of `getCredentials` acquires values for
- the `security-username` and `security-password` properties in whatever way
- it wishes.
- It might look up values in a database or another external resource,
- or it might prompt for values.
+### <a id="authentication-provideclientcredaccess"></a>Provide Secure Access
to Client Credentials
-- Set the `security-username` and `security-password` properties for the client
- in a way that can be accessed by the `getCredentials` implementation in the
- `AuthInitialize`. This can be done via the APIs, properties file or other
external
- sources:
+Set the `security-username` and `security-password` properties for the client
in a way that can be
+accessed by the `getCredentials` implementation in `AuthInitialize`. This can
be done via the APIs,
+properties file or other external sources:
- ``` pre
- Properties properties = new Properties();
- properties.setProperty("security-username", "exampleuser23");
- properties.setProperty("security-password", "xyz1234");
- ClientCache cache = new ClientCacheFactory(properties).create();
- ```
+``` pre
+Properties properties = new Properties();
+properties.setProperty("security-username", "exampleuser23");
+properties.setProperty("security-password", "xyz1234");
+ClientCache cache = new ClientCacheFactory(properties).create();
+```
- Take care that credentials set in this manner are not accessible
- to observers of the code.
-
+For security, take care that credentials set in this manner are not accessible
to observers of the code.
-## How Other Components Set Their Credentials
+## <a id="authentication-component-set-creds"></a>How Other Components Set
Their Credentials
-`gfsh` prompts for the user name and password upon invocation of
+`gfsh` prompts for the username and password upon invocation of
a`gfsh connect` command.
-Pulse prompts for the user name and password upon start up.
+Pulse prompts for the username and password upon start up.
Review comment:
add, "and these username/password combination will be provided as
properties to the `authenticate` method in the keys of `security-username` and
`security-password`".
##########
File path: geode-docs/managing/security/implementing_authentication.html.md.erb
##########
@@ -23,151 +23,150 @@ Authentication lends a measure of security to a cluster
by verifying the identity of components as they connect to the system.
All components use the same authentication mechanism.
-## How Authentication Works
+## <a id="authentication-how-it-works"></a>How Authentication Works
When a component initiates a connection to the cluster,
the `SecurityManager.authenticate` method is invoked.
The component provides its credentials in the form of properties
as a parameter to the `authenticate` method.
-The credential is presumed to be the two properties
+The credentials parameter is presumed to be a user/password combination,
specified as the two properties
`security-username` and `security-password`.
The `authenticate` method is expected to either return an object
representing a principal or throw an `AuthenticationFailedException`.
A well-designed `authenticate` method will have a set of known user and
password pairs that can be
-compared to the credential presented or will have a way of obtaining those
pairs.
+compared to the credentials presented or will have a way of obtaining those
pairs.
-## How a Server Sets Its Credential
+## <a id="authentication-server-set-creds"></a>How a Server Sets Its
Credentials
-In order to connect with a locator that does authentication,
-a server will need to set its credential, composed of the two properties
+In order to connect with a locator that performs authentication,
+a server must set its credentials, a username and password specified as the
two properties
`security-username` and `security-password`.
-Choose one of these two ways to accomplish this:
-
-- Set `security-username` and `security-password` in the server's
-`gfsecurity.properties` file that will be read upon server start up,
-as in the example
-
- ``` pre
- security-username=admin
- security-password=xyz1234
- ```
- The user name and password are stored in the clear, so the
- `gfsecurity.properties` file must be protected by restricting access with
- file system permissions.
-
-- Implement `AuthInitialize` interface for the server.
-
- - Set the property `security-peer-auth-init`,
- so that an object of the class that implements the `AuthInitialize`
- interface will be instantiated.
- Set the property to one of these two values:
-
- - Set property `security-peer-auth-init` to the fully-qualified
- class name that implements the `AuthInitialize` interface
- as in the example
-
- ``` pre
- security-peer-auth-init=com.example.security.ServerAuthenticate
- ```
- - Set property `security-peer-auth-init` to the fully-qualified
- method name of a method that instantiates an object of the class
- that implements the `AuthInitialize` interface
- as in the example
-
- ``` pre
- security-peer-auth-init=com.example.security.ServerAuthenticate.create
- ```
-
- - Implement the `getCredentials` method within the `AuthInitialize`
- interface to acquire values for
- the `security-username` and `security-password` properties
- in whatever way it wishes.
- It might look up values in a database or another external resource.
-
-Gateway senders and receivers communicate as a component of their
-server member.
-Therefore, the credential of the server become those of the gateway
-sender or receiver.
-
-## How a Client Cache Sets Its Credential
-
-In order to connect with a locator or a server that does authentication,
-a client will need to set its credential, composed of the two properties
+Choose one of two ways to set the server credentials:
+
+- Add settings to the server properties file, or
+- Implement the `AuthInitialize` interface for the server
+
+### <a id="authentication-setserverprops"></a>Add Settings to the Server
Properties File
+
+Set `security-username` and `security-password` in the server's
+`gfsecurity.properties` file, which is read upon server startup.
+For example:
+
+``` pre
+security-username=admin
+security-password=xyz1234
+```
+The username and password are stored in the clear, so the
+`gfsecurity.properties` file must be protected by restricting access with
+file system permissions.
+
+### <a id="authentication-implementserverinterface"></a>Implement the
AuthInitialize Interface for the Server
+
+To implement the `AuthInitialize` interface for the server, set the
+`security-peer-auth-init` property so that an object of the class that
implements the `AuthInitialize`
+interface will be instantiated. There are two ways to do this:
+
+- You can set the `security-peer-auth-init` property to the fully-qualified
class name that implements
+ the `AuthInitialize` interface as in the example
+
+ ``` pre
+ security-peer-auth-init=com.example.security.ServerAuthenticate
+ ```
+
+- You can set the `security-peer-auth-init` property to the fully-qualified
method name of a method
+that instantiates an object of the class that implements the `AuthInitialize`
interface as in the
+example
+
+ ``` pre
+ security-peer-auth-init=com.example.security.ServerAuthenticate.create
+ ```
+
+Implement the `getCredentials` method within the `AuthInitialize` interface to
acquire values for
+the `security-username` and `security-password` properties in whatever way you
wish. For example,
+it might look up values in a database or another external resource.
+
+Gateway senders and receivers communicate as components of their respective
server members. Therefore, the
+credentials of the server become those of the gateway sender or receiver.
+
+## <a id="authentication-client-set-creds"></a>How a Client Cache Sets its
Credentials
+
+In order to connect with a locator or a server that performs authentication,
+a client must set its credentials, a username and password specified as the
two properties
`security-username` and `security-password`.
-Follow these steps to accomplish this:
+composedou must perform two actions to set to set the client credentials:
+
+- Implement the `AuthInitialize` interface for the client
+- Provide `Authinitialize.getCredentials()` with secure access to the client
credentials
+
+### <a id="authentication-implementclientinterface"></a>Implement the
AuthInitialize Interface for the Client
+
+To implement the `AuthInitialize` interface for the client, set the
`security-client-auth-init` property,
+so that an object of the class that implements the `AuthInitialize` interface
will be instantiated.
+There are two ways to do this:
+
+- You can set the `security-client-auth-init` property to the fully-qualified
+class name that implements the `AuthInitialize` interface as in the example:
-- Implement `AuthInitialize` interface for the client.
+ ``` pre
+ security-client-auth-init=com.example.security.ClientAuthInitialize
+ ```
- - Set the property `security-client-auth-init`,
- so that an object of the class that implements the
- `AuthInitialize` interface will be instantiated.
- Set the property to one of these two values:
+- You can set the `security-client-auth-init` property to the fully-qualified
+name of a static method that instantiates an object of the class
+that implements the `AuthInitialize` interface as in the example
- - Set property `security-client-auth-init` to the fully-qualified
- class name that implements the `AuthInitialize` interface:
+ ``` pre
+ security-client-auth-init=com.example.security.ClientAuthInitialize.create
+ ```
- ``` pre
- security-client-auth-init=com.example.security.ClientAuthInitialize
- ```
- - Set property `security-client-auth-init` to the fully-qualified
- name of a static method that instantiates an object of the class
- that implements the `AuthInitialize` interface:
+Implement the `getCredentials` method of the `AuthInitialize` interface for
the client to acquire values for
+the `security-username` and `security-password` properties in whatever way
+wish. For example, it might look up values in a database or another external
resource,
+or it might prompt for values.
- ``` pre
-
security-client-auth-init=com.example.security.ClientAuthInitialize.create
- ```
- - Implement the `getCredentials` method of the `AuthInitialize` interface
- for the client.
- The implementation of `getCredentials` acquires values for
- the `security-username` and `security-password` properties in whatever way
- it wishes.
- It might look up values in a database or another external resource,
- or it might prompt for values.
+### <a id="authentication-provideclientcredaccess"></a>Provide Secure Access
to Client Credentials
-- Set the `security-username` and `security-password` properties for the client
- in a way that can be accessed by the `getCredentials` implementation in the
- `AuthInitialize`. This can be done via the APIs, properties file or other
external
- sources:
+Set the `security-username` and `security-password` properties for the client
in a way that can be
+accessed by the `getCredentials` implementation in `AuthInitialize`. This can
be done via the APIs,
+properties file or other external sources:
- ``` pre
- Properties properties = new Properties();
- properties.setProperty("security-username", "exampleuser23");
- properties.setProperty("security-password", "xyz1234");
- ClientCache cache = new ClientCacheFactory(properties).create();
- ```
+``` pre
+Properties properties = new Properties();
+properties.setProperty("security-username", "exampleuser23");
+properties.setProperty("security-password", "xyz1234");
+ClientCache cache = new ClientCacheFactory(properties).create();
+```
- Take care that credentials set in this manner are not accessible
- to observers of the code.
-
+For security, take care that credentials set in this manner are not accessible
to observers of the code.
-## How Other Components Set Their Credentials
+## <a id="authentication-component-set-creds"></a>How Other Components Set
Their Credentials
-`gfsh` prompts for the user name and password upon invocation of
+`gfsh` prompts for the username and password upon invocation of
Review comment:
add, "and these username/password combination will be provided as
properties to the `authenticate` method in the keys of `security-username` and
`security-password`".
##########
File path: geode-docs/managing/security/implementing_authentication.html.md.erb
##########
@@ -23,151 +23,150 @@ Authentication lends a measure of security to a cluster
by verifying the identity of components as they connect to the system.
All components use the same authentication mechanism.
-## How Authentication Works
+## <a id="authentication-how-it-works"></a>How Authentication Works
When a component initiates a connection to the cluster,
the `SecurityManager.authenticate` method is invoked.
The component provides its credentials in the form of properties
as a parameter to the `authenticate` method.
-The credential is presumed to be the two properties
+The credentials parameter is presumed to be a user/password combination,
specified as the two properties
`security-username` and `security-password`.
The `authenticate` method is expected to either return an object
representing a principal or throw an `AuthenticationFailedException`.
A well-designed `authenticate` method will have a set of known user and
password pairs that can be
-compared to the credential presented or will have a way of obtaining those
pairs.
+compared to the credentials presented or will have a way of obtaining those
pairs.
-## How a Server Sets Its Credential
+## <a id="authentication-server-set-creds"></a>How a Server Sets Its
Credentials
-In order to connect with a locator that does authentication,
-a server will need to set its credential, composed of the two properties
+In order to connect with a locator that performs authentication,
+a server must set its credentials, a username and password specified as the
two properties
`security-username` and `security-password`.
-Choose one of these two ways to accomplish this:
-
-- Set `security-username` and `security-password` in the server's
-`gfsecurity.properties` file that will be read upon server start up,
-as in the example
-
- ``` pre
- security-username=admin
- security-password=xyz1234
- ```
- The user name and password are stored in the clear, so the
- `gfsecurity.properties` file must be protected by restricting access with
- file system permissions.
-
-- Implement `AuthInitialize` interface for the server.
-
- - Set the property `security-peer-auth-init`,
- so that an object of the class that implements the `AuthInitialize`
- interface will be instantiated.
- Set the property to one of these two values:
-
- - Set property `security-peer-auth-init` to the fully-qualified
- class name that implements the `AuthInitialize` interface
- as in the example
-
- ``` pre
- security-peer-auth-init=com.example.security.ServerAuthenticate
- ```
- - Set property `security-peer-auth-init` to the fully-qualified
- method name of a method that instantiates an object of the class
- that implements the `AuthInitialize` interface
- as in the example
-
- ``` pre
- security-peer-auth-init=com.example.security.ServerAuthenticate.create
- ```
-
- - Implement the `getCredentials` method within the `AuthInitialize`
- interface to acquire values for
- the `security-username` and `security-password` properties
- in whatever way it wishes.
- It might look up values in a database or another external resource.
-
-Gateway senders and receivers communicate as a component of their
-server member.
-Therefore, the credential of the server become those of the gateway
-sender or receiver.
-
-## How a Client Cache Sets Its Credential
-
-In order to connect with a locator or a server that does authentication,
-a client will need to set its credential, composed of the two properties
+Choose one of two ways to set the server credentials:
+
+- Add settings to the server properties file, or
Review comment:
change to `Add settings to the server properties file if it's simple
username/password combination`
##########
File path: geode-docs/managing/security/implementing_authentication.html.md.erb
##########
@@ -23,151 +23,150 @@ Authentication lends a measure of security to a cluster
by verifying the identity of components as they connect to the system.
All components use the same authentication mechanism.
-## How Authentication Works
+## <a id="authentication-how-it-works"></a>How Authentication Works
When a component initiates a connection to the cluster,
the `SecurityManager.authenticate` method is invoked.
The component provides its credentials in the form of properties
as a parameter to the `authenticate` method.
-The credential is presumed to be the two properties
+The credentials parameter is presumed to be a user/password combination,
specified as the two properties
`security-username` and `security-password`.
The `authenticate` method is expected to either return an object
representing a principal or throw an `AuthenticationFailedException`.
A well-designed `authenticate` method will have a set of known user and
password pairs that can be
-compared to the credential presented or will have a way of obtaining those
pairs.
+compared to the credentials presented or will have a way of obtaining those
pairs.
-## How a Server Sets Its Credential
+## <a id="authentication-server-set-creds"></a>How a Server Sets Its
Credentials
-In order to connect with a locator that does authentication,
-a server will need to set its credential, composed of the two properties
+In order to connect with a locator that performs authentication,
+a server must set its credentials, a username and password specified as the
two properties
`security-username` and `security-password`.
-Choose one of these two ways to accomplish this:
-
-- Set `security-username` and `security-password` in the server's
-`gfsecurity.properties` file that will be read upon server start up,
-as in the example
-
- ``` pre
- security-username=admin
- security-password=xyz1234
- ```
- The user name and password are stored in the clear, so the
- `gfsecurity.properties` file must be protected by restricting access with
- file system permissions.
-
-- Implement `AuthInitialize` interface for the server.
-
- - Set the property `security-peer-auth-init`,
- so that an object of the class that implements the `AuthInitialize`
- interface will be instantiated.
- Set the property to one of these two values:
-
- - Set property `security-peer-auth-init` to the fully-qualified
- class name that implements the `AuthInitialize` interface
- as in the example
-
- ``` pre
- security-peer-auth-init=com.example.security.ServerAuthenticate
- ```
- - Set property `security-peer-auth-init` to the fully-qualified
- method name of a method that instantiates an object of the class
- that implements the `AuthInitialize` interface
- as in the example
-
- ``` pre
- security-peer-auth-init=com.example.security.ServerAuthenticate.create
- ```
-
- - Implement the `getCredentials` method within the `AuthInitialize`
- interface to acquire values for
- the `security-username` and `security-password` properties
- in whatever way it wishes.
- It might look up values in a database or another external resource.
-
-Gateway senders and receivers communicate as a component of their
-server member.
-Therefore, the credential of the server become those of the gateway
-sender or receiver.
-
-## How a Client Cache Sets Its Credential
-
-In order to connect with a locator or a server that does authentication,
-a client will need to set its credential, composed of the two properties
+Choose one of two ways to set the server credentials:
+
+- Add settings to the server properties file, or
+- Implement the `AuthInitialize` interface for the server
+
+### <a id="authentication-setserverprops"></a>Add Settings to the Server
Properties File
+
+Set `security-username` and `security-password` in the server's
+`gfsecurity.properties` file, which is read upon server startup.
+For example:
+
+``` pre
+security-username=admin
+security-password=xyz1234
+```
+The username and password are stored in the clear, so the
+`gfsecurity.properties` file must be protected by restricting access with
+file system permissions.
+
+### <a id="authentication-implementserverinterface"></a>Implement the
AuthInitialize Interface for the Server
+
+To implement the `AuthInitialize` interface for the server, set the
+`security-peer-auth-init` property so that an object of the class that
implements the `AuthInitialize`
+interface will be instantiated. There are two ways to do this:
+
+- You can set the `security-peer-auth-init` property to the fully-qualified
class name that implements
+ the `AuthInitialize` interface as in the example
+
+ ``` pre
+ security-peer-auth-init=com.example.security.ServerAuthenticate
+ ```
+
+- You can set the `security-peer-auth-init` property to the fully-qualified
method name of a method
+that instantiates an object of the class that implements the `AuthInitialize`
interface as in the
+example
+
+ ``` pre
+ security-peer-auth-init=com.example.security.ServerAuthenticate.create
+ ```
+
+Implement the `getCredentials` method within the `AuthInitialize` interface to
acquire values for
+the `security-username` and `security-password` properties in whatever way you
wish. For example,
+it might look up values in a database or another external resource.
+
+Gateway senders and receivers communicate as components of their respective
server members. Therefore, the
+credentials of the server become those of the gateway sender or receiver.
+
+## <a id="authentication-client-set-creds"></a>How a Client Cache Sets its
Credentials
+
+In order to connect with a locator or a server that performs authentication,
+a client must set its credentials, a username and password specified as the
two properties
Review comment:
again, it doesn't have to be username/password, it's whatever property
generated by the `security-client-auth-init` class's getCredentials() method
call.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]