# $Id$

# language

# package org.apache.catalina.realm

jaasRealm.accountExpired=Username {0} NOT authenticated due to expired account
jaasRealm.authenticateSuccess=Username {0} successfully authenticated
jaasRealm.credentialExpired=Username {0} NOT authenticated due to expired credential
jaasRealm.failedLogin=Username {0} NOT authenticated due to failed login
jaasRealm.loginException=Login exception authenticating username {0}
jaasRealm.unexpectedError=Unexpected error
jdbcRealm.authenticateFailure=Username {0} NOT successfully authenticated
jdbcRealm.authenticateSuccess=Username {0} successfully authenticated
jdbcRealm.close=Exception closing database connection
jdbcRealm.exception=Exception performing authentication
jdbcRealm.open=Exception opening database connection
jndiRealm.authenticateFailure=Username {0} NOT successfully authenticated
jndiRealm.authenticateSuccess=Username {0} successfully authenticated
jndiRealm.close=Exception closing directory server connection
jndiRealm.exception=Exception performing authentication
jndiRealm.open=Exception opening directory server connection
memoryRealm.authenticateFailure=Username {0} NOT successfully authenticated
memoryRealm.authenticateSuccess=Username {0} successfully authenticated
memoryRealm.loadExist=Memory database file {0} cannot be read
memoryRealm.loadPath=Loading users from memory database file {0}
memoryRealm.readXml=Exception while reading memory database file
realmBase.algorithm=Invalid message digest algorithm {0} specified
realmBase.alreadyStarted=This Realm has already been started
realmBase.digest=Error digesting user credentials
realmBase.forbidden=Access to the requested resource has been denied
realmBase.hasRoleFailure=Username {0} does NOT have role {1}
realmBase.hasRoleSuccess=Username {0} has role {1}
realmBase.notAuthenticated=Configuration error:  Cannot perform access control without an authenticated principal
realmBase.notStarted=This Realm has not yet been started
realmBase.authenticateFailure=Username {0} NOT successfully authenticated
realmBase.authenticateSuccess=Username {0} successfully authenticated
userDatabaseRealm.authenticateError=Login configuration error authenticating username {0}
userDatabaseRealm.lookup=Exception looking up UserDatabase under key {0}
userDatabaseRealm.noDatabase=No UserDatabase component found under key {0}
userDatabaseRealm.noEngine=No Engine component found in container hierarchy
userDatabaseRealm.noGlobal=No global JNDI resources context found
dataSourceRealm.authenticateFailure=Username {0} NOT successfully authenticated
dataSourceRealm.authenticateSuccess=Username {0} successfully authenticated
dataSourceRealm.close=Exception closing database connection
dataSourceRealm.exception=Exception performing authentication
dataSourceRealm.open=Exception opening database connection
