1 | <?xml version="1.0"?> |
---|
2 | <!-- |
---|
3 | This is the authentication configuration file for protocol-httpclient. |
---|
4 | Different credentials for different authentication scopes can be |
---|
5 | configured in this file. If a set of credentials is configured for a |
---|
6 | particular authentication scope (i.e. particular host, port number, |
---|
7 | scheme and realm), then that set of credentials would be sent only to |
---|
8 | servers falling under the specified authentication scope. Apart from |
---|
9 | this at most one set of credentials can be configured as 'default'. |
---|
10 | |
---|
11 | When authentication is required to fetch a resource from a web-server, |
---|
12 | the authentication-scope is determined from the host, port, scheme and |
---|
13 | realm (if present) obtained from the URL of the page and the |
---|
14 | authentication headers in the HTTP response. If it matches any |
---|
15 | 'authscope' in this configuration file, then the 'credentials' for |
---|
16 | that 'authscope' is used for authentication. Otherwise, it would use |
---|
17 | the 'default' set of credentials (with an exception which is described |
---|
18 | in the next paragraph), if present. If any attribute is missing, it |
---|
19 | would match all values for that attribute. |
---|
20 | |
---|
21 | If there are several pages having different authentication realms and |
---|
22 | schemes on the same web-server (same host and port, but different |
---|
23 | realms and schemes), and credentials for one or more of the realms and |
---|
24 | schemes for that web-server is specified, then the 'default' |
---|
25 | credentials would be ignored completely for that web-server (for that |
---|
26 | host and port). So, credentials to handle all realms and schemes for |
---|
27 | that server may be specified explicitly by adding an extra 'authscope' |
---|
28 | tag with the 'realm' and 'scheme' attributes missing for that server. |
---|
29 | This is demonstrated by the last 'authscope' tag for 'example:8080' in |
---|
30 | the following example. |
---|
31 | |
---|
32 | Example:- |
---|
33 | <credentials username="susam" password="masus"> |
---|
34 | <default realm="sso"/> |
---|
35 | <authscope host="192.168.101.33" port="80" realm="login"/> |
---|
36 | <authscope host="example" port="8080" realm="blogs"/> |
---|
37 | <authscope host="example" port="8080" realm="wiki"/> |
---|
38 | <authscope host="example" port="80" realm="quiz" scheme="NTLM"/> |
---|
39 | </credentials> |
---|
40 | <credentials username="admin" password="nimda"> |
---|
41 | <authscope host="example" port="8080"/> |
---|
42 | </credentials> |
---|
43 | |
---|
44 | In the above example, 'example:8080' server has pages with multiple |
---|
45 | authentication realms. The first set of credentials would be used for |
---|
46 | 'blogs' and 'wiki' authentication realms. The second set of |
---|
47 | credentials would be used for all other realms. For 'login' realm of |
---|
48 | '192.168.101.33', the first set of credentials would be used. For any |
---|
49 | other realm of '192.168.101.33' authentication would not be done. For |
---|
50 | the NTLM authentication required by 'example:80', the first set of |
---|
51 | credentials would be used. For 'sso' realms of all other servers, the |
---|
52 | first set of credentials would be used, since it is configured as |
---|
53 | 'default'. |
---|
54 | |
---|
55 | NTLM does not use the notion of realms. The domain name may be |
---|
56 | specified as the value for 'realm' attribute in case of NTLM. |
---|
57 | --> |
---|
58 | |
---|
59 | <auth-configuration> |
---|
60 | |
---|
61 | </auth-configuration> |
---|