# Users and authorization identifiers

User names within the Derby system are known as authorization identifiers. The authorization identifier is a string that represents the name of the user, if one was provided in the connection request.

For example, the built-in function CURRENT_USER returns the authorization identifier for the current user.

Once the authorization identifier is passed to the Derby system, it becomes an SQL92Identifier. `SQL92Identifiers`-the kind of identifiers that represent database objects such as tables and columns-are case-insensitive (they are converted to all caps) unless delimited with double quotes, are limited to 128 characters, and have other limitations.

User names must be valid authorization identifiers even if user authentication is turned off, and even if all users are allowed access to all databases.

For more information about SQL92Identifiers, see the Java DB Reference Manual.

- Authorization identifiers, user authentication, and user authorization
  When working with both user authentication and user authorization, you need to understand how user names are treated by each system.
- Database owner
  The term database owner refers to the current authorization identifier when the database is created, that is, the user creating the database. If you enable or plan to enable SQL authorization, controlling the identity of the database owner becomes important.
- User names and schemas
  User names can affect a user's default schema.
- Exceptions when using authorization identifiers
  Specifying an invalid authorization identifier in a database user authorization property raises an exception. Specifying an invalid authorization identifier in a connection request raises an exception.

Parent topic: Derby and Security
Related concepts
Configuring security for your environment
Working with user authentication
User authorizations
Encrypting databases on disk
Signed jar files
Notes on the Derby security features
Running Derby under a security manager
Built-in Derby users