This is the documentation for FishEye 3.5. View the latest version of

Unknown macro: {spacejump}

or visit the latest FishEye documentation home page.

To implement an arbitrary form of authentication and authorisation for FishEye you need to provide a class which extends com.cenqua.fisheye.user.plugin.AbstractFishEyeAuthenticator. You can find more information about custom FishEye authorisation in the online javadocs and the library jar.

For FishEye to use the authenticator, it must be compiled, placed in a jar archive and then put in the $FISHEYE_INST/lib directory. If other third-party libraries are required by your authenticator, they must also be in the $FISHEYE_INST/lib directory.

Global configuration

After implementing a custom authenticator, the next step is to configure FishEye to use it.

Click Setup Custom authentication on the FishEye Authentication page, in the Admin area.

You will be presented with a form containing the following fields to be set:

Classname

The fully qualified class name of your AbstractFishEyeAuthenticator, e.g. com.cenqua.fisheye.user.plugin.ExampleFishEyeAuthenticator.

Cache TTL (positive)

How long FishEye should cache permission checks. Example values are: 0 secs, 5 mins.

Auto-add

FishEye can automatically create a user it has not previously encountered if the user can successfully authenticate against your authenticator.

Properties

Any properties your authenticator requires. These will be passed to its init() method. This field should comply with the java.util.Properties format. Example:

 
# comments
name1=value1
name2=value2

Per-repository constraint configuration

You may also require a per-repository constraint to restrict access to specific repositories using your custom authenticator. If a custom authenticator is set, then the Permissions Summary table will display the constraint per repository and a link to enable you to edit it.

When using FishEye's built-in groups in conjunction with a custom authenticator, a user will have access to a repository if:

  1. the user is in an allowed group for the repository
  2. or the hasPermissionToAccess method of the custom authenticator returns true.

The 'Authentication Test' page allows you to enter a user's credentials and to test the user's authentication. It will also test which repositories the user is authorised to access.