This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 05693857aa2c09bebede13661cd8a717ab483f3f Author: Mark Thomas <ma...@apache.org> AuthorDate: Wed Sep 27 08:34:02 2023 +0100 Align with 9.0.x onwards --- .../apache/catalina/realm/GenericPrincipal.java | 10 +------- .../catalina/realm/JAASMemoryLoginModule.java | 15 ++++++------ java/org/apache/catalina/realm/JAASRealm.java | 27 ++++++---------------- java/org/apache/catalina/realm/JNDIRealm.java | 10 ++++---- .../apache/catalina/realm/LocalStrings.properties | 13 +++++++++++ .../catalina/realm/LocalStrings_fr.properties | 13 +++++++++++ .../catalina/realm/LocalStrings_ja.properties | 13 +++++++++++ .../catalina/realm/LocalStrings_ko.properties | 13 +++++++++++ .../catalina/realm/LocalStrings_zh_CN.properties | 13 +++++++++++ java/org/apache/catalina/realm/MemoryRealm.java | 3 ++- java/org/apache/catalina/realm/MemoryRuleSet.java | 6 ----- java/org/apache/catalina/realm/RealmBase.java | 18 +++++++-------- 12 files changed, 95 insertions(+), 59 deletions(-) diff --git a/java/org/apache/catalina/realm/GenericPrincipal.java b/java/org/apache/catalina/realm/GenericPrincipal.java index b731f846d5..e4c72f613c 100644 --- a/java/org/apache/catalina/realm/GenericPrincipal.java +++ b/java/org/apache/catalina/realm/GenericPrincipal.java @@ -138,7 +138,7 @@ public class GenericPrincipal implements TomcatPrincipal, Serializable { /** * The set of roles associated with this user. */ - protected final String roles[]; + protected final String[] roles; public String[] getRoles() { return this.roles; @@ -217,14 +217,6 @@ public class GenericPrincipal implements TomcatPrincipal, Serializable { } - /** - * Calls logout, if necessary, on any associated JAASLoginContext. May in the future be extended to cover other - * logout requirements. - * - * @throws Exception If something goes wrong with the logout. Uses Exception to allow for future expansion of this - * method to cover other logout mechanisms that might throw a different exception to - * LoginContext - */ @Override public void logout() throws Exception { if (loginContext != null) { diff --git a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java index 9e43d809c8..cff832dbd6 100644 --- a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java +++ b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java @@ -236,7 +236,7 @@ public class JAASMemoryLoginModule extends MemoryRealm implements LoginModule { public boolean login() throws LoginException { // Set up our CallbackHandler requests if (callbackHandler == null) { - throw new LoginException("No CallbackHandler specified"); + throw new LoginException(sm.getString("jaasMemoryLoginModule.noCallbackHandler")); } Callback callbacks[] = new Callback[10]; callbacks[0] = new NameCallback("Username: "); @@ -276,7 +276,7 @@ public class JAASMemoryLoginModule extends MemoryRealm implements LoginModule { algorithm = ((TextInputCallback) callbacks[8]).getText(); authMethod = ((TextInputCallback) callbacks[9]).getText(); } catch (IOException | UnsupportedCallbackException e) { - throw new LoginException(e.toString()); + throw new LoginException(sm.getString("jaasMemoryLoginModule.callbackHandlerError", e.toString())); } // Validate the username and password we have received @@ -288,7 +288,7 @@ public class JAASMemoryLoginModule extends MemoryRealm implements LoginModule { } else if (authMethod.equals(HttpServletRequest.CLIENT_CERT_AUTH)) { principal = super.getPrincipal(username); } else { - throw new LoginException("Unknown authentication method"); + throw new LoginException(sm.getString("jaasMemoryLoginModule.unknownAuthenticationMethod")); } if (log.isDebugEnabled()) { @@ -299,7 +299,7 @@ public class JAASMemoryLoginModule extends MemoryRealm implements LoginModule { if (principal != null) { return true; } else { - throw new FailedLoginException("Username or password is incorrect"); + throw new FailedLoginException(sm.getString("jaasMemoryLoginModule.invalidCredentials")); } } @@ -325,14 +325,14 @@ public class JAASMemoryLoginModule extends MemoryRealm implements LoginModule { if (!file.isAbsolute()) { String catalinaBase = getCatalinaBase(); if (catalinaBase == null) { - log.warn("Unable to determine Catalina base to load file " + pathname); + log.error(sm.getString("jaasMemoryLoginModule.noCatalinaBase", pathname)); return; } else { file = new File(catalinaBase, pathname); } } if (!file.canRead()) { - log.warn("Cannot load configuration file " + file.getAbsolutePath()); + log.error(sm.getString("jaasMemoryLoginModule.noConfig", file.getAbsolutePath())); return; } @@ -344,8 +344,7 @@ public class JAASMemoryLoginModule extends MemoryRealm implements LoginModule { digester.push(this); digester.parse(file); } catch (Exception e) { - log.warn("Error processing configuration file " + file.getAbsolutePath(), e); - return; + log.error(sm.getString("jaasMemoryLoginModule.parseError", file.getAbsolutePath()), e); } finally { digester.reset(); } diff --git a/java/org/apache/catalina/realm/JAASRealm.java b/java/org/apache/catalina/realm/JAASRealm.java index 5b491f5419..71bd35ba21 100644 --- a/java/org/apache/catalina/realm/JAASRealm.java +++ b/java/org/apache/catalina/realm/JAASRealm.java @@ -232,8 +232,7 @@ public class JAASRealm extends RealmBase { if (appName == null) { appName = makeLegalForJAAS(container.getName()); - - log.info("Set JAAS app name " + appName); + log.info(sm.getString("jaasRealm.appName", appName)); } } @@ -286,11 +285,10 @@ public class JAASRealm extends RealmBase { if (Principal.class.isAssignableFrom(principalClass)) { classNamesList.add(className); } else { - log.error("Class " + className + " is not implementing " + - "java.security.Principal! Class not added."); + log.error(sm.getString("jaasRealm.notPrincipal", className)); } } catch (ClassNotFoundException e) { - log.error("Class " + className + " not found! Class not added."); + log.error(sm.getString("jaasRealm.classNotFound", className)); } } } @@ -399,7 +397,7 @@ public class JAASRealm extends RealmBase { if (log.isDebugEnabled()) { log.debug(sm.getString("jaasRealm.failedLogin", username)); } - return (null); + return null; } } catch (AccountExpiredException e) { if (log.isDebugEnabled()) { @@ -451,7 +449,7 @@ public class JAASRealm extends RealmBase { return null; } if (log.isDebugEnabled()) { - log.debug(sm.getString("jaasRealm.authenticateSuccess", username)); + log.debug(sm.getString("jaasRealm.authenticateSuccess", username, principal)); } return principal; @@ -623,21 +621,10 @@ public class JAASRealm extends RealmBase { this.jaasConfigurationLoaded = true; return this.jaasConfiguration; } - } catch (URISyntaxException ex) { - throw new RuntimeException(ex); - } catch (NoSuchMethodException ex) { - throw new RuntimeException(ex); - } catch (SecurityException ex) { - throw new RuntimeException(ex); - } catch (InstantiationException ex) { - throw new RuntimeException(ex); - } catch (IllegalAccessException ex) { - throw new RuntimeException(ex); - } catch (IllegalArgumentException ex) { - throw new RuntimeException(ex); } catch (InvocationTargetException ex) { throw new RuntimeException(ex.getCause()); - } catch (ClassNotFoundException ex) { + } catch (SecurityException | URISyntaxException | ClassNotFoundException | IllegalAccessException | + InstantiationException | NoSuchMethodException | IllegalArgumentException ex) { throw new RuntimeException(ex); } } diff --git a/java/org/apache/catalina/realm/JNDIRealm.java b/java/org/apache/catalina/realm/JNDIRealm.java index 192c415b9e..52cb739c8b 100644 --- a/java/org/apache/catalina/realm/JNDIRealm.java +++ b/java/org/apache/catalina/realm/JNDIRealm.java @@ -3166,26 +3166,26 @@ public class JNDIRealm extends RealmBase { /** * The MessageFormat object associated with the current <code>userSearch</code>. */ - protected MessageFormat userSearchFormat = null; + public MessageFormat userSearchFormat = null; /** * An array of MessageFormat objects associated with the current <code>userPatternArray</code>. */ - protected MessageFormat[] userPatternFormatArray = null; + public MessageFormat[] userPatternFormatArray = null; /** * The MessageFormat object associated with the current <code>roleBase</code>. */ - protected MessageFormat roleBaseFormat = null; + public MessageFormat roleBaseFormat = null; /** * The MessageFormat object associated with the current <code>roleSearch</code>. */ - protected MessageFormat roleFormat = null; + public MessageFormat roleFormat = null; /** * The directory context linking us to our directory server. */ - protected DirContext context = null; + public DirContext context = null; } } diff --git a/java/org/apache/catalina/realm/LocalStrings.properties b/java/org/apache/catalina/realm/LocalStrings.properties index eda93dd8cf..7ac439ff9d 100644 --- a/java/org/apache/catalina/realm/LocalStrings.properties +++ b/java/org/apache/catalina/realm/LocalStrings.properties @@ -36,15 +36,26 @@ dataSourceRealm.noNamingContext=Cannot access the server to retrieve the naming jaasCallback.username=Returned username [{0}] +jaasMemoryLoginModule.callbackHandlerError=Error invoking callback handler: [{0}] +jaasMemoryLoginModule.invalidCredentials=User name or password is incorrect +jaasMemoryLoginModule.noCallbackHandler=No CallbackHandler specified +jaasMemoryLoginModule.noCatalinaBase=Unable to determine Catalina base to load file [{0}] +jaasMemoryLoginModule.noConfig=Cannot load configuration file [{0}] +jaasMemoryLoginModule.parseError=Error processing configuration file [{0}] +jaasMemoryLoginModule.unknownAuthenticationMethod=Unknown authentication method + jaasRealm.accountExpired=Username [{0}] NOT authenticated due to expired account +jaasRealm.appName=Set JAAS app name [{0}] jaasRealm.authenticateFailure=Username [{0}] NOT successfully authenticated jaasRealm.authenticateSuccess=Username [{0}] successfully authenticated as Principal [{1}] -- Subject was created too jaasRealm.beginLogin=JAASRealm login requested for username [{0}] using LoginContext for application [{1}] jaasRealm.checkPrincipal=Checking Principal [{0}] [{1}] +jaasRealm.classNotFound=Class [{0}] was not found jaasRealm.credentialExpired=Username [{0}] NOT authenticated due to expired credential jaasRealm.failedLogin=Username [{0}] NOT authenticated due to failed login jaasRealm.loginContextCreated=JAAS LoginContext created for username [{0}] jaasRealm.loginException=Login exception authenticating username [{0}] +jaasRealm.notPrincipal=Class [{0}] not added as it does not implement java.security.Principal jaasRealm.rolePrincipalAdd=Adding role Principal [{0}] to this user Principal''s roles jaasRealm.rolePrincipalFailure=No valid role Principals found. jaasRealm.unexpectedError=Unexpected error @@ -103,6 +114,8 @@ realmBase.gssContextNotEstablished=Authenticator implementation error: the passe realmBase.gssNameFail=Failed to extract name from established GSSContext realmBase.hasRoleFailure=Username [{0}] does NOT have role [{1}] realmBase.hasRoleSuccess=Username [{0}] has role [{1}] +realmBase.invalidDigestEncoding=Invalid digest encoding [{0}] +realmBase.unknownAllRolesMode=Unknown mode [{0}], must be one of: strict, authOnly, strictAuthOnly userDatabaseRealm.lookup=Exception looking up UserDatabase under key [{0}] userDatabaseRealm.noDatabase=No UserDatabase component found under key [{0}] diff --git a/java/org/apache/catalina/realm/LocalStrings_fr.properties b/java/org/apache/catalina/realm/LocalStrings_fr.properties index 0da62b067b..75679b9016 100644 --- a/java/org/apache/catalina/realm/LocalStrings_fr.properties +++ b/java/org/apache/catalina/realm/LocalStrings_fr.properties @@ -35,15 +35,26 @@ dataSourceRealm.getRoles.exception=Exception lors de la récupération des rôle jaasCallback.username=Nom d''utilisateur renvoyé [{0}] +jaasMemoryLoginModule.callbackHandlerError=Erreur lors de l''invocation du CallbackHandler : [{0}] +jaasMemoryLoginModule.invalidCredentials=Le nom d'utilisateur ou le mot de passe est incorrect +jaasMemoryLoginModule.noCallbackHandler=Aucun CallbackHandler n'a été spécifié +jaasMemoryLoginModule.noCatalinaBase=Impossible de déterminer le répertoire de base de Catalina pour pouvoir charger le fichier [{0}] +jaasMemoryLoginModule.noConfig=Impossible de charger le fichier de configuration [{0}] +jaasMemoryLoginModule.parseError=Erreur de traitement du fichier de configuration [{0}] +jaasMemoryLoginModule.unknownAuthenticationMethod=Méthode d'authentification inconnue + jaasRealm.accountExpired=le nom d''utilisateur [{0}] N''A PAS été authentifié car le compte a expiré +jaasRealm.appName=Définition du nom d''application JAAS comme [{0}] jaasRealm.authenticateFailure=Le nom d''utilisateur [{0}] n''a pas été authentifié avec succès jaasRealm.authenticateSuccess=le nom d''utilisateur [{0}] a été authentifié avec succès jaasRealm.beginLogin=La connection avec le JAASRealm a demandé le nom d''utilisateur [{0}] en utilisant le LoginContext de l''application [{1}] jaasRealm.checkPrincipal=Vérification du principal [{0}] [{1}] +jaasRealm.classNotFound=La classe [{0}] n''a pas été trouvée jaasRealm.credentialExpired=le nom d''utilisateur [{0}] N''A PAS été authentifié car son crédit a expiré (expired credential) jaasRealm.failedLogin=le nom d''utilisateur [{0}] N''A PAS été authentifié car son contrôle d''accès (login) a échoué jaasRealm.loginContextCreated=Le LoginContext JAAS a été crée pour le nom d''utilisateur [{0}] jaasRealm.loginException=Exception lors de l''authentification par login du nom d''utilisateur [{0}] +jaasRealm.notPrincipal=La classe [{0}] n''a pas été ajoutée car elle n''implémente pas java.security.Principal jaasRealm.rolePrincipalAdd=Ajout du rôle Pincipal [{0}] aux rôles du principal de l''utilisateur jaasRealm.rolePrincipalFailure=Aucun principal avec un rôle valide trouvé jaasRealm.unexpectedError=Erreur inattendue @@ -102,6 +113,8 @@ realmBase.gssContextNotEstablished=Erreur d'implémentation de l'authenticateur realmBase.gssNameFail=Impossible d'extraire le nom du GSSContext qui a été établi realmBase.hasRoleFailure=Le nom d''utilisateur [{0}] N''A PAS de rôle [{1}] realmBase.hasRoleSuccess=Le nom d''utilisateur [{0}] a pour rôle [{1}] +realmBase.invalidDigestEncoding=L''encodage de digest spécifié [{0}] est invalide +realmBase.unknownAllRolesMode=Le mode [{0}] est inconnu, il doit être : strict, authOnly ou strictAuthOnly userDatabaseRealm.lookup=Exception lors de la recherche dans la base de données utilisateurs avec la clé [{0}] userDatabaseRealm.noDatabase=Aucun composant base de données utilisateurs trouvé pour la clé [{0}] diff --git a/java/org/apache/catalina/realm/LocalStrings_ja.properties b/java/org/apache/catalina/realm/LocalStrings_ja.properties index 81a0749465..e572a0f274 100644 --- a/java/org/apache/catalina/realm/LocalStrings_ja.properties +++ b/java/org/apache/catalina/realm/LocalStrings_ja.properties @@ -35,15 +35,26 @@ dataSourceRealm.getRoles.exception=[{0}] のロールを取得中に例外が発 jaasCallback.username=返されたユーザー名[{0}] +jaasMemoryLoginModule.callbackHandlerError=コールバックハンドラーの呼び出し中のエラー: [{0}] +jaasMemoryLoginModule.invalidCredentials=ユーザー名、または、パスワードが間違っています。 +jaasMemoryLoginModule.noCallbackHandler=CallbackHandler が未指定です。 +jaasMemoryLoginModule.noCatalinaBase=ファイル[{0}]をロードするCatalina baseを特定できません +jaasMemoryLoginModule.noConfig=設定ファイルを読み込めませんでした。 [{0}] +jaasMemoryLoginModule.parseError=設定ファイル [{0}] 処理中のエラー +jaasMemoryLoginModule.unknownAuthenticationMethod=未知の認証方法です + jaasRealm.accountExpired=ユーザ名 [{0}] はアカウントの期限が切れているために認証されません +jaasRealm.appName=JAASアプリケーション名[{0}]を設定します。 jaasRealm.authenticateFailure=ユーザー名[{0}]は正常に認証されませんでした jaasRealm.authenticateSuccess=ユーザ名 [{0}] は認証に成功しました jaasRealm.beginLogin=アプリケーション[{1}]のLoginContextを使用して、ユーザー名[{0}]に対するJAASRealmログインが要求されました。 jaasRealm.checkPrincipal=プリンシパル [{0}] [{1}] をチェックします +jaasRealm.classNotFound=クラス [{0}] が見つかりませんでした jaasRealm.credentialExpired=ユーザ名 [{0}] は証明書の期限が切れたために認証されません jaasRealm.failedLogin=ユーザ名 [{0}] はログインに失敗したために認証されませんでした jaasRealm.loginContextCreated=ユーザー名[{0}]用に作成されたJAAS LoginContext jaasRealm.loginException=ユーザ名 [{0}] の認証中にログイン例外が発生しました +jaasRealm.notPrincipal=クラス [{0}] はjava.security.Principalを実装していないため追加されません jaasRealm.rolePrincipalAdd=このユーザープリンシパルロールにロールプリンシパル [{0}] を追加 jaasRealm.rolePrincipalFailure=有効な役割はありません。 jaasRealm.unexpectedError=予期せぬエラー @@ -102,6 +113,8 @@ realmBase.gssContextNotEstablished=Authenticator 実装エラー:渡された realmBase.gssNameFail=確立されたGSSContextから名前を抽出できませんでした。 realmBase.hasRoleFailure=ユーザ名 [{0}] はロール [{1}] を持っていません realmBase.hasRoleSuccess=ユーザ名 [{0}] はロール [{1}] を持っています +realmBase.invalidDigestEncoding=無効なダイジェストエンコーディング [{0}] +realmBase.unknownAllRolesMode=未知のモード [{0}]。strict、authOnly、strictAuthOnly のどれか1つでなければなりません。 userDatabaseRealm.lookup=キー [{0}] でユーザデータベースを検索中の例外です userDatabaseRealm.noDatabase=キー [{0}] でユーザデータベースコンポーネントが見つかりません diff --git a/java/org/apache/catalina/realm/LocalStrings_ko.properties b/java/org/apache/catalina/realm/LocalStrings_ko.properties index 89c8f9aa2f..43a1f697fe 100644 --- a/java/org/apache/catalina/realm/LocalStrings_ko.properties +++ b/java/org/apache/catalina/realm/LocalStrings_ko.properties @@ -35,15 +35,26 @@ dataSourceRealm.getRoles.exception=사용자 [{0}]을(를) 위한 역할들을 jaasCallback.username=반환된 사용자명 [{0}] +jaasMemoryLoginModule.callbackHandlerError=콜백 핸들러 호출 중 오류 발생: [{0}] +jaasMemoryLoginModule.invalidCredentials=사용자 이름 또는 비밀번호가 올바르지 않습니다. +jaasMemoryLoginModule.noCallbackHandler=CallbackHandler가 지정되지 않았습니다. +jaasMemoryLoginModule.noCatalinaBase=파일 [{0}]을(를) 로드하기 위한 Catalina base를 결정할 수 없습니다. +jaasMemoryLoginModule.noConfig=설정 파일 [{0}]을(를) 로드할 수 없습니다. +jaasMemoryLoginModule.parseError=설정 파일 [{0}]을(를) 처리하는 중 오류 발생 +jaasMemoryLoginModule.unknownAuthenticationMethod=알 수 없는 인증 메소드 + jaasRealm.accountExpired=사용자명 [{0}]은(는) 만료된 계정이라서 인증되지 않았습니다. +jaasRealm.appName=JAAS 앱 이름 [{0}]을(를) 설정합니다. jaasRealm.authenticateFailure=사용자명 [{0}]은(는) 성공적으로 인증되지 못했습니다. jaasRealm.authenticateSuccess=사용자명 [{0}]이(가) 성공적으로 Principal [{1}](으)로서 인증되었습니다 -- Subject 또한 생성되었습니다. jaasRealm.beginLogin=애플리케이션 [{1}]을(를) 위한 LoginContext를 사용하여, 사용자명 [{0}]을(를) 위한 JAASRealm 로그인이 요청되었습니다. jaasRealm.checkPrincipal=Principal [{0}] [{1}]을(를) 점검합니다. +jaasRealm.classNotFound=클래스 [{0}]을(를) 찾을 수 없었습니다. jaasRealm.credentialExpired=만료된 credentials로 인하여, 사용자명 [{0}]이(가) 인증되지 않았습니다. jaasRealm.failedLogin=사용자명 [{0}]은(는) 로그인 실패로 인하여 인증되지 않았습니다. jaasRealm.loginContextCreated=사용자명 [{0}]을(를) 위해 생성된 JAAS LoginContext jaasRealm.loginException=사용자 이름 [{0}]을(를) 인증하는 중 로그인 예외 발생 +jaasRealm.notPrincipal=java.security.Principal을 구현하고 있지 않아, 클래스 [{0}]이(가) 추가되지 않았습니다. jaasRealm.rolePrincipalAdd=이 사용자 Principal의 역할들에, 역할 Principal [{0}]을(를) 추가합니다. jaasRealm.rolePrincipalFailure=유효한 역할 Principal들을 찾을 수 없습니다. jaasRealm.unexpectedError=예기치 않은 오류 @@ -101,6 +112,8 @@ realmBase.gssContextNotEstablished=Authenticator 구현 오류: 전달된 보안 realmBase.gssNameFail=확립된 GSSContext로부터, 이름을 추출하지 못했습니다. realmBase.hasRoleFailure=사용자명 [{0}]은(는) 역할 [{1}]을(를) 가지고 있지 않습니다. realmBase.hasRoleSuccess=사용자명 [{0}]이(가) 역할 [{1}]을(를) 가지고 있습니다. +realmBase.invalidDigestEncoding=유효하지 않은 digest 인코딩: [{0}] +realmBase.unknownAllRolesMode=알 수 없는 모드 [{0}]. 모드는 반드시 다음 중 하나여야만 합니다: strict, authOnly, strictAuthOnly userDatabaseRealm.lookup=키 [{0}]을(를) 사용하여 사용자 데이터베이스를 찾는 중 예외 발생 userDatabaseRealm.noDatabase=키 [{0}]을(를) 사용하여 UserDatabase 구성요소를 찾을 수 없습니다. diff --git a/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties b/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties index d5343454a3..d526197b11 100644 --- a/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties +++ b/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties @@ -35,15 +35,26 @@ dataSourceRealm.getRoles.exception=检索角色[{0}]异常 jaasCallback.username=返回用户名 [{0}] +jaasMemoryLoginModule.callbackHandlerError=调用回调处理程序时出错:[{0}] +jaasMemoryLoginModule.invalidCredentials=用户名或密码不正确 +jaasMemoryLoginModule.noCallbackHandler=未指定回调处理程序 +jaasMemoryLoginModule.noCatalinaBase=无法确定要加载文件的Catalina基[{0}] +jaasMemoryLoginModule.noConfig=无法加载配置文件 [{0}] +jaasMemoryLoginModule.parseError=处理配置文件[{0}]时出错 +jaasMemoryLoginModule.unknownAuthenticationMethod=未知的身份验证方法 + jaasRealm.accountExpired=由于帐户过期,用户名[{0}]未通过身份验证 +jaasRealm.appName=设置JAAS应用程序名称[{0}] jaasRealm.authenticateFailure=用户 [{0}] 认证失败 jaasRealm.authenticateSuccess=用户名 [{0}] 已被成功认证为身份 [{1}] -- 主体也已创建 jaasRealm.beginLogin=使用应用程序[{1}]的LoginContext为用户名[{0}]请求JAASRealm登录 jaasRealm.checkPrincipal=正在检查主体[{0}][{1}] +jaasRealm.classNotFound=找不到类 [{0}] jaasRealm.credentialExpired=由于凭据过期,用户名[{0}]未通过身份验证 jaasRealm.failedLogin=由于登录失败,用户名 [{0}] 无法授权 jaasRealm.loginContextCreated=为用户名创建的JAAS 登陆上下文[{0}] jaasRealm.loginException=登录异常,认证用户名 [{0}] +jaasRealm.notPrincipal=类[{0}]未添加,因为它未实现java.security.Principal jaasRealm.rolePrincipalAdd=已经将角色主体[{0}]添加到此用户主体的角色 jaasRealm.rolePrincipalFailure=找不到有效的角色主体。 jaasRealm.unexpectedError=意外错误 @@ -101,6 +112,8 @@ realmBase.gssContextNotEstablished=身份验证器实现错误:传递的安全 realmBase.gssNameFail=无法从已建立的GSSContext中提取名称 realmBase.hasRoleFailure=用户[{0}]没有角色[{1}] realmBase.hasRoleSuccess=用户名[{0}] 有角色[{1}] +realmBase.invalidDigestEncoding=无效的摘要编码[{0}] +realmBase.unknownAllRolesMode=未知模式[{0}],必须是以下之一:strict、authOnly、strictAuthOnly userDatabaseRealm.lookup=在键[{0}]下查找用户数据库时发生异常 userDatabaseRealm.noDatabase=未找到key[{0}]对应的UserDatabase组件。 diff --git a/java/org/apache/catalina/realm/MemoryRealm.java b/java/org/apache/catalina/realm/MemoryRealm.java index 41ae5a0a97..0414ece4f1 100644 --- a/java/org/apache/catalina/realm/MemoryRealm.java +++ b/java/org/apache/catalina/realm/MemoryRealm.java @@ -21,6 +21,7 @@ import java.io.InputStream; import java.security.Principal; import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import org.apache.catalina.LifecycleException; @@ -157,7 +158,7 @@ public class MemoryRealm extends RealmBase { void addUser(String username, String password, String roles) { // Accumulate the list of roles for this user - ArrayList<String> list = new ArrayList<>(); + List<String> list = new ArrayList<>(); roles += ","; while (true) { int comma = roles.indexOf(','); diff --git a/java/org/apache/catalina/realm/MemoryRuleSet.java b/java/org/apache/catalina/realm/MemoryRuleSet.java index a88c13aedb..5846f815ce 100644 --- a/java/org/apache/catalina/realm/MemoryRuleSet.java +++ b/java/org/apache/catalina/realm/MemoryRuleSet.java @@ -16,13 +16,11 @@ */ package org.apache.catalina.realm; - import org.apache.tomcat.util.digester.Digester; import org.apache.tomcat.util.digester.Rule; import org.apache.tomcat.util.digester.RuleSetBase; import org.xml.sax.Attributes; - /** * <p> * <strong>RuleSet</strong> for recognizing the users defined in the XML file processed by <code>MemoryRealm</code>. @@ -36,7 +34,6 @@ public class MemoryRuleSet extends RuleSetBase { // ----------------------------------------------------- Instance Variables - /** * The matching pattern prefix to use for recognizing our elements. */ @@ -45,14 +42,11 @@ public class MemoryRuleSet extends RuleSetBase { // ------------------------------------------------------------ Constructor - /** * Construct an instance of this <code>RuleSet</code> with the default matching pattern prefix. */ public MemoryRuleSet() { - this("tomcat-users/"); - } diff --git a/java/org/apache/catalina/realm/RealmBase.java b/java/org/apache/catalina/realm/RealmBase.java index ce16edcf28..9eb3057f11 100644 --- a/java/org/apache/catalina/realm/RealmBase.java +++ b/java/org/apache/catalina/realm/RealmBase.java @@ -48,6 +48,7 @@ import org.apache.catalina.connector.Request; import org.apache.catalina.connector.Response; import org.apache.catalina.util.LifecycleMBeanBase; import org.apache.catalina.util.SessionConfig; +import org.apache.catalina.util.ToStringUtil; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.tomcat.util.IntrospectionUtils; @@ -411,8 +412,8 @@ public abstract class RealmBase extends LifecycleMBeanBase implements org.apache try { valueBytes = serverDigestValue.getBytes(getDigestCharset()); } catch (UnsupportedEncodingException uee) { - log.error("Illegal digestEncoding: " + getDigestEncoding(), uee); - throw new IllegalArgumentException(uee.getMessage()); + throw new IllegalArgumentException(sm.getString("realmBase.invalidDigestEncoding", getDigestEncoding()), + uee); } String serverDigest = HexUtils.toHexString(ConcurrentMessageDigest.digest(algorithm, valueBytes)); @@ -1103,10 +1104,7 @@ public abstract class RealmBase extends LifecycleMBeanBase implements org.apache @Override public String toString() { - StringBuilder sb = new StringBuilder("Realm["); - sb.append(getName()); - sb.append(']'); - return sb.toString(); + return ToStringUtil.toString(this); } @@ -1165,8 +1163,8 @@ public abstract class RealmBase extends LifecycleMBeanBase implements org.apache try { valueBytes = digestValue.getBytes(getDigestCharset()); } catch (UnsupportedEncodingException uee) { - log.error("Illegal digestEncoding: " + getDigestEncoding(), uee); - throw new IllegalArgumentException(uee.getMessage()); + throw new IllegalArgumentException(sm.getString("realmBase.invalidDigestEncoding", getDigestEncoding()), + uee); } return HexUtils.toHexString(ConcurrentMessageDigest.digest(algorithm, valueBytes)); @@ -1225,7 +1223,7 @@ public abstract class RealmBase extends LifecycleMBeanBase implements org.apache log.debug(sm.getString("realmBase.gotX509Username", username)); } - return (getPrincipal(username)); + return getPrincipal(username); } @@ -1558,7 +1556,7 @@ public abstract class RealmBase extends LifecycleMBeanBase implements org.apache } else if (name.equalsIgnoreCase(STRICT_AUTH_ONLY_MODE.name)) { mode = STRICT_AUTH_ONLY_MODE; } else { - throw new IllegalStateException("Unknown mode, must be one of: strict, authOnly, strictAuthOnly"); + throw new IllegalStateException(sm.getString("realmBase.unknownAllRolesMode", name)); } return mode; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org