Multiple Card/ID Numbers for a user

As of PaperCut 13.1, users may have up to two card/ID numbers associated with their account. Prior to this, users could only have a single card/ID number. The solution below is suitable for sites requiring more than two card/ID numbers. Sites running version 13.0 are encouraged to upgrade in order to take advantage of this new feature.

For sites that use version 12 and below, implementing an external database (as detailed below) is still the recommended method of having multiple cards associated with a user account.

User card/ID numbers are stored in the database record for the user and are visible and editable on the user’s details page. The numbers can also be automatically imported into the PaperCut from the source AD/LDAP server. In some situations users may have more than two card types that may be used for authentication, or where a card is to be used in combination with ID logins. e.g. A user may have an employee number or student number that can be used as an alternative to card or username/password authentication. PaperCut has a feature that allows it to lookup card numbers from an external database source. This can be used to allow users to be associated with multiple card numbers. This feature is documented in the manual here:

This lookup feature works as follows when a user authenticates with a card/id:

  1. The card/ID is looked up in PaperCut database. If it is found, then this is the user authenticated.
  2. If the card/ID is not found, the lookup in the external database is performed. This looks up a card number and returns the username of the user that card number is associated with. If there is a match in the external database this user is authenticated.

Using this is quite straightforward. All it requires is an external database (such as SQL Server, Oracle, PostgreSQL, MySQL, etc), and the creation of a database table that maps card numbers to usernames. For example, the table might be called user_cards and contain two fields, card_number and user_name. Then the SQL used to perform the lookup would be:

 select user_name from user_cards where card_number = {cardnumber}

This table can then be populated with the mapping between users and these card numbers.

For setup instructions see the manual here:

NOTE: Like the card numbers in the PaperCut database, you should ensure that the card numbers uniquely identify a single user. i.e. you should not have a card number map to multiple users.

Categories: How-to Articles, User Management

Keywords: dual cards, multiple cards, multiple ids, multiple card numbers, additional card numbers, separate ID and card numbers, per user, two cards, multi card, multi