public class ExampleFishEyeAuthenticator extends AbstractFishEyeAuthenticator
This authenticator reads its data from its Properties configuration.
Usernames/passwords are found using properties of the form user.USERNAME=PASSWORD
By default, access is allowed to any repository. Access can be restricted
to a set of users using a property of the form
repos.REPNAME=USERNAME1,USERNAME2,...,USERNAMEn
To use this example, you would need something like the following in your config.xml:
<security allow-anon="false">
<custom
classname="com.cenqua.fisheye.user.plugin.ExampleFishEyeAuthenticator"
auto-add="true"
positive-cache-ttl="5mins">
<properties>
user.jane=j4n3
user.fred=fr3d
repos.rep1=jane,fred
repos.rep2=fred
repos.rep3=jane
</properties>
</custom></security>| Modifier and Type | Class and Description |
|---|---|
static class |
ExampleFishEyeAuthenticator.ExampleAuthToken |
| Constructor and Description |
|---|
ExampleFishEyeAuthenticator() |
| Modifier and Type | Method and Description |
|---|---|
AuthToken |
checkPassword(java.lang.String username,
java.lang.String password)
Called to check a user's password.
|
void |
close()
Called when this authenticator will no longer be used.
|
boolean |
hasPermissionToAccess(AuthToken tok,
java.lang.String repname,
java.lang.String constraint)
Check if a user has permission to access the given repository.
|
void |
init(java.util.Properties cfg)
Called to configure this authenticator.
|
AuthToken |
recreateAuth(java.lang.String username)
Used to re-create a token for a user that was previously authenticated.
|
checkRequest, isRequestUserStillValidpublic void init(java.util.Properties cfg)
throws java.lang.Exception
FishEyeAuthenticatorcfg - the configuration properties, as specified
in the <properties> element in the <custom> config.
(non-null)java.lang.Exception - an error occurred during configuration.public void close()
FishEyeAuthenticatorpublic AuthToken checkPassword(java.lang.String username, java.lang.String password)
FishEyeAuthenticatorYou should not make any assumptions about the arguments. For example, they could be the empty string, or null.
username - given username (may be null)password - given password (may be null)public AuthToken recreateAuth(java.lang.String username)
FishEyeAuthenticatorpublic boolean hasPermissionToAccess(AuthToken tok, java.lang.String repname, java.lang.String constraint)
FishEyeAuthenticatorThis method is notcalled when users are not logged in (anonymous users).
If a custom constraint has been specified in config.xml, then that value is passed as
constraint. This is taken from the <security><custom constraint="">
setting in either <repository> or <repository-defaults>.
A constraint could be used (for example) to specify a group that a user must belong to in order to access a repository.
Note: for managed repositories, this method is overloaded to determine whether a user has permission to both read from and write to a particular repository. You can not use custom authentication to grant a user read access but not write access (or vice-versa).
tok - an authentication token as returned by FishEyeAuthenticator.checkPassword(java.lang.String, java.lang.String)
or FishEyeAuthenticator.recreateAuth(java.lang.String) (not null)repname - the symbolic name of the repository (not null)constraint - a constraint as specified in config.xml (or null if not specified).