#Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net) #===================================================================== # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #===================================================================== ajax.progressbar.processing = 处理中... car.addRepository.currentlyPluginRepositories = 当前可用的插件仓库有 car.addRepository.downloadRunningCongfig = 你也可以将另一个 Geronimo 服务器上的插件仓库添加到当前服务器上。如果你要添加一个远程 Geronimo 服务器上的插件仓库,在下面文本框中输入要添加的插件仓库的链接地址,如 http://geronimo-server:8080/plugin/maven-repo/ car.addRepository.howToAddPluginRepositories = 要添加一个新的插件仓库到列表中,在下面的文本框中输入该仓库的链接地址。仓库的根目录中必须包含一个geronimo-plugins.xml 文件以列出该存仓中可用的插件。 car.addRepository.title = 添加插件仓库 car.assemblyConfirm.description = 描述 car.assemblyConfirm.moduleId = 模块ID car.assemblyConfirm.plugin = 插件 car.assemblyConfirm.successful = 服务器组装成功 car.common.addRepository = 添加插件仓库 car.common.assemble = 组装 car.common.author = 作者 car.common.category = 种类 car.common.createGeronimoPlugin = 创建 Geronimo 插件 car.common.dependencies = 依赖项 car.common.downloadRepositories = 已下载的存储库 car.common.exportPlugin = 导出插件 car.common.geronimoVersions = Geronimo 版本 car.common.group = 组 car.common.license = 许可证 car.common.moduleID = 模块ID car.common.newRepository = 新的存储库 car.common.obsoletes = 废弃 car.common.openSource = 开放源码 car.common.pluginURL = 插件的 URL car.common.prereq1Description = 先决条件 1 描述 car.common.prereq2Description = 先决条件 2 描述 car.common.prereq3Description = 先决条件 3 描述 car.common.prerequisite1ID = 先决条件 1 ID car.common.prerequisite1Type = 先决条件 1 类型 car.common.prerequisite2ID = 先决条件 2 ID car.common.prerequisite2Type = 先决条件 2 类型 car.common.prerequisite3ID = 先决条件 3 ID car.common.prerequisite3Type = 先决条件 3 类型 car.common.prerequisites = 先决条件 car.common.proprietary = 所有权 car.common.removePlugins = 删除 Geronimo 的插件 car.common.repository = 存储库 car.common.savePluginData = 保存插件配置 car.common.searchForPlugins = 显示所选仓库中的插件 car.common.uniqueID = 唯一的 ID car.common.viewDetails = 显示细节 car.common.webSite = Web 站点 car.confirmExport.title = 导出插件 -- 保存到磁盘 car.confirmExport.useBtnBelow = 单击下面这个按钮将插件"{0}"保存到磁盘。 car.download.foundDependencies = 服务器为此插件找到了以下依赖项。如果你继续的话,服务器将会自动地安装所需的依赖项。 car.download.processing = 处理{0}中... car.downloadStatus.processing = 正在处理{0}... car.help.return = 单击此 portlet 右上角的“视图”链接以返回插件主面板 car.index.assembleServer = 组装服务器 car.index.assembleServerLong = 使用这里的插件组装服务器 car.index.assemblyHelp.AppCentric.desp = 选择你想要组装到你的服务器中的应用插件。你所选择的应用插件将决定所组装服务器最终的能能。你的服务器将能够运行你的应用插件,但可能无法部署其他任何应用程序。 car.index.assemblyHelp.AppCentric.title = 以应用为中心的 car.index.assemblyHelp.ExpertUser.desp = 选择应用插件和系统插件来组装你的服务器。注意:你必须是 Apache Geronimo 的专家级用户才可以选择这个模式,否则你最后得到的可能是一个无法启动和部署任何应用的服务器. car.index.assemblyHelp.ExpertUser.title = 专家级用户 car.index.assemblyHelp.FuncCentric.desp = 选择符合你需要的功能以及对应的插件来组装服务器 car.index.assemblyHelp.FuncCentric.title = 以功能为中心的 car.index.assemblyHelp.desp = 利用当前服务器中的 Geronimo 插件组装一个新的服务器。你可以选择如下三种模式中的一种: car.index.assemblyHelp.note =

请注意此 portlet 只适用于 Geronimo 插件. 如果你的应用不是一个 Geronimo 插件, 你有如下选择:

- 使用控制台的"创建插件"功能将你的应用转换为一个 Geronimo 插件
- 使用 car-maven-plugin 将你的应用转换为一个 Geronimo 插件
- 组装你的服务器后再部署你的应用

car.index.assemblyMode = 自定义组装模式: car.index.createGeronimoPluginExp = 选择要导出的 Geronimo 插件。导出后的插件将以 CAR 文件的形式保存到你的本地文件系统中。注意:在你将它导出后,要使它成为一个有效的插件,你必须手动将META-INF/geronimo-plugin.xml文件添加到 CAR 中。 car.index.createPluginHelp.desp =

从当前Geronimo 服务器中导出 Geronimo插件。 填写插件元数据信息并将插件保存为一个 CAR 文件到你的本地文件系统。控制台将生成geronimo-plugin.xml文件以存储你所导出插件的元数据信息并将文件打包进一个 CAR 文件。 你可以通过管理控制台设置很多插件元数据,然而,你无法更改某些高级设置, 例如config-xml-content或者config-substitution properties

如果你使用命令行方式生成一个 Geronimo 插件, 你可以先使用 car-maven-plugi n为你的项目产生一个geronimo-plugin.xml文件, 然后将你的项目打包为一个 CAR 文件, 并同时将你的项目信息自动添加到 Geronimo 插件目录(geronimo-plugins.xml 文件)。

car.index.createPluginHelp.title = 创建 Geronimo 插件 car.index.installPluginHelp.desp =

从本地或远程服务器向当前 Geronimo 服务器安装 Geronimo 插件.

点击 "更新存储库列表" 链接以将存储库列表更新到服务器推荐的最新版.

如果你没有看到期望的存储库, 点击 "添加存储库" 链接以添加你选择的附加存储库. 存储库必须在根目录有一个geronimo-plugins.xml文件列出存储库中的可用插件.

car.index.installPluginHelp.title = 安装 Geronimo 插件 car.index.optionalAuthentication = 可选验证信息 car.index.removePluginsExp = 要删除一个插件,在应用程序 portlet 中找到插件模块并将它卸载。 car.index.summary =

安装 Geronimo 插件

这个 portlet 用于安装 Geronimo 插件。 通过这样就可以在运行时为 Geronimo 服务器安装新的功能。

选择一个本地或远程的存储库并检查可用的Geronimo插件。 这个存储库的根目录下必须有一个geronimo-plugins.xml文件以显示存储库中的所有可用插件。

你也可以从其它 Geronimo 服务器下载运行中的设置就像浏览和安装第三方插件一样. 如果你想指向一个远程的 Geronimo 服务器, 输入一个 URL ,类似于http://geronimo-server:8080/plugin/maven-repo/并在可选的验证域中输入管理员的用户名和密码.

car.index.updateRepositoryList = 更新存储库列表 car.index.validateConfig = 请选择要导出的设置. car.list.PluginGroup = 本地服务器的插件组: car.list.applicationPlugin = 本地服务器的应用插件: car.list.assemblyArtifactId = 新服务器工件 ID: car.list.assemblyFormat = 新服务器格式: car.list.assemblyGroupId = 新服务器组 ID: car.list.assemblyPath = 新服务器保存路径: car.list.assemblyVersion = 新服务器版本: car.list.expertUser = 专家用户(显示所有系统插件) car.list.filterByCategoryAndName = 按照种类和名称过滤: car.list.nameServer = 命名要组装的新服务器: car.list.noPlugins = 此存储库中没有插件. car.list.nothing = 你至少要选择一个插件以安装。 car.list.pluginRepo = 插件位于 car.list.requireArtifactId = 你必须提供工件 ID。 car.list.requiredPlugin = 本地服务器所需插件: car.list.selectPlugin = 从当前服务器选择插件: car.list.systemPlugin = 本地服务器的系统插件: car.pluginParams.JVMVersionsExp = 一个可选的列表,用于列出这个插件支持的JVM版本的前缀。如果没有列出任何值的话,这个插件可安装在运行于任何版本的JVM的Geronimo中。不然的话,每一行列出一个可接受的 JVM 版本前缀,就像"1.4.2  1.5  ..." (当然,理想情况下,这意味着在这里列出的 JVM 版本中,你确实已经测试过这个插件)。 car.pluginParams.authorExp = 插件的作者,这可能是人名,公司名或者开源项目的名称等等。 car.pluginParams.categoryExp = 这个插件所属的类别。同一个类别的插件会被一起列出。如果想让这个插件被列在 geronimoplugins.com ,你应该选择其中的一个类别作为名称。另外,你也可以随意地选择类别的名称,或者选用存储库中它要被发布至的那一个类别的名称。 car.pluginParams.dependenciesExp = 一个列表,用于列出这个插件所依赖的 JAR 包或其他模块的 ID。安装这个插件时,这些依赖项将会自动地安装。通常,你不应该修改这个列表。然而,如果用户在安装这个插件前,必须先手动地安装某个依赖项,你可以将该依赖项从依赖列表中移到先决条件列表中(例如,数据库连接池,插件是无法知道要连接到哪个服务器的)。

在这个列表中的每一个条目应该使用像上面一样的唯一 ID 。如果你认为这个插件可以使用任何版本的依赖项,你也可以删除掉版本号,但这样做可能会有风险。每个依赖项应该对应一行内容。 car.pluginParams.descriptionExp = 对插件的描述。你应该只使用普通文本,并用空行隔开段落。 car.pluginParams.downloadRepositoriesExp = 一个存储库列表,可以在其中检查需要下载的任何依赖项。这应该是一行一个 URL 的列表,其中的值就像http://geronimoplugins.com/repository/http://www.ibiblio.org/maven2/。注意:通常包含这个插件的存储库应该位于第一行。 car.pluginParams.geronimoVersionsExp = 一个可选的列表,用于列出可以支持这个插件的 Geronimo 版本。如果没有列出任何值,说明这个插件可以安装在任何版本的 Geronimo 中。否则,需要在每一行列出一个可以支持这个插件 Geronimo 版本号。就像"1.1  1.1.1  1.1.2  ..."(当然,理想情况下,这表明你确实已经在这里列出的各个 Geronimo 版本 中测试过这个插件)。 car.pluginParams.humanReadableName = 易于理解的名称 car.pluginParams.humanReadableNameExp = 易于理解的插件名称 car.pluginParams.licenseExp = 这个插件使用的许可证。理想情况,它应该是前缀为 BSD 或者 GPL 类型的许可证。 car.pluginParams.obsoletesExp = 一个列表,用于列出要被该插件替换的模块 ID。当安装这个插件时,这里列出的模块或插件会被删除。如果你要升级而不是替换原有的插件,可以在这里提供原有插件的版本信息。列表中的每一行对应一个模块 ID。 car.pluginParams.openSourceExp = 如果这个许可证是某类 OSI 认可的开源许可证的话,选中这个复选框(参考http://www.opensource.org/licenses/index.php)。 car.pluginParams.pluginURLExp = 可以获得插件更多信息的 URL (如插件的主页)。 car.pluginParams.prereqDescriptionExp = 一段较为详尽的描述,关于用户要满足“先决条件”所必须要做的事情。(例如一些关于设置数据库连接池的说明:列出可支持的数据库产品并且告诉用户在哪里能找到初始化数据库的脚本)。这里应该使用用空行分割成段落的普通文本。 car.pluginParams.prerequisiteIDExp = 作为这个插件先决条件的模块 ID。在插件被安装之前,服务器中必须已经存在这个模块。可能是某个 Web 应用所需的特定 Web 容器(geronimo/jetty/*/car)、数据库连接池或者安全域信息。由于插件的作者无法为目标服务器创建对应于这些信息的有效值,因此用户必须手工配置。为了适应尽可能多的用户需求,你可能需要省略模块 ID 中的某些内容(如使用 */mypool/*/* 而不是 myapp/mypool/1.2/car)。 car.pluginParams.prerequisiteTypeExp = 为了方便用户,对先决条件的类型的简短描述。可取的值包括Database PoolWeb Container等等。 car.pluginParams.title = 导出插件 -- 配置插件 car.pluginParams.uniqueIDExp = 这个插件全局唯一的 ID,这是由你要导出的服务器决定的。这个 ID 确定了插件的版本号,所以请确保你输入的 ID 的正确性。 car.results.filesProcessed = 已处理文件 car.results.titles = 已安装如下插件 car.viewForDownload.author = 作者 car.viewForDownload.category = 类别 car.viewForDownload.dependencies = 依赖 car.viewForDownload.description = 描述 car.viewForDownload.geronimoVersions = Geronimo 版本 car.viewForDownload.installable = 可安装的 car.viewForDownload.jvmVersions = JVM 版本 car.viewForDownload.license = 许可证 car.viewForDownload.moduleId = 模块 ID car.viewForDownload.obsoletes = 废弃 car.viewForDownload.prerequisites = 先决条件 car.viewForDownload.website = 站点 configmanager.common.archive = 归档文件 configmanager.common.plan = 部署计划(可选) configmanager.common.startAppAfterInstall = 安装后启动应用 +configmanager.common.redeployapplication = 重新部署应用 configmanager.deploy.migratedPlan = 迁移计划 configmanager.deploy.migratedPlanSummary = 你提供的部署计划似乎是用于应用服务器的前一个版本。为了方便,在下面提供了你的部署计划的迁移版本。并不是所有的部署计划都能完全地迁移,所以在迁移版本的部署计划能用于部署之前,可能需要一些手工地修改。 configmanager.deploy.originalPlan = 初始部署计划 configmanager.deploy.redeployApplication = 重新部署应用 configmanager.deploy.saveLocally = 保存部署计划到本地 configmanager.deploy.showDetail = 显示完整信息 configmanager.deploy.showMigratedPlan = 显示迁移后的计划 configmanager.deploy.showOriginalPlan = 显示初始部署计划 configmanager.deployHelp.archiveExp = 浏览系统来选择要安装的包。 configmanager.deployHelp.installApplication = 安装应用到 Geronimo 服务器。 configmanager.deployHelp.planExp = 如果部署计划没有被打包在应用包中,那么点击"浏览"按钮来选择部署计划。否则,保留此处为空白。 configmanager.deployHelp.startAppAfterInstallExp = 选中这个复选框,会在应用安装后自动启动它。否则,用户需要在"已安装应用"窗口中点击相应的"启动"链接来启动应用。默认情况下,这个复选框被选中,会自动地启动新安装的应用。 configmanager.deployHelp.title = 这个 portlet 允许用户部署新应用或者重新部署应用到 Geronimo 中。例如:Web 应用需要部署计划,部署计划可以被打包在 WAR 包中,或者保存在一个独立的文件中,通常取名为 geronimo-web.xml。你也可以使用一个独立的部署计划来安装能控制与应用环境配置有关的 RAR 包。 consolebase.common.JVMVersions = JVM 版本 consolebase.common.actions = 操作 consolebase.common.cancel = 取消 consolebase.common.commands = 命令 consolebase.common.confirmPassword = 确认密码 consolebase.common.delete = 删除 consolebase.common.deployedAs = 部署为 consolebase.common.description = 描述 consolebase.common.done = 完成 consolebase.common.edit = 编辑 consolebase.common.install = 安装 consolebase.common.name = 名称 consolebase.common.next = 下一步 consolebase.common.password = 密码 consolebase.common.restart = 重启 consolebase.common.return = 返回 consolebase.common.returnToList = 返回列表 #consolebase.common.returnToList = Return to List consolebase.common.save = 保存 consolebase.common.start = 启动 consolebase.common.state = 状态 consolebase.common.stop = 停止 consolebase.common.uninstall = 卸载 consolebase.common.usage = 用法 consolebase.common.user = 用户 consolebase.common.userName = 用户名 realmwizard._sql.JDBCDriverClassExp = JDBC 驱动类的完全限定名。要求驱动类必须能在下一个字段指定的 JAR 包中找到。 realmwizard._sql.JDBCPasswordExp = 连接数据库的密码 realmwizard._sql.JDBCUrlExp = JDBC URL 指定了要连接数据库时的细节。对于不同的 JDBC 驱动,格式将有所不同。 realmwizard._sql.JDBCUsernameExp = 连接数据库的用户名 realmwizard._sql.databasePoolExp = 登录模块用来连接数据库的数据库连接池。如果指定了数据库连接池的话,下面的其它设置都不是必须的。 realmwizard._sql.digestAlgorithmExp = 对于此口令要使用的消息摘要算法 (例如 MD5, SHA1 等). 如果不使用消息摘要算法,请使此值为空。 realmwizard._sql.digestEncodingExp = 对摘要的编码 (例如 hex, base64). 仅当指定了消息摘要算法时使用。如果不知道编码算法,会默认使用hex算法。 realmwizard._sql.driverJARExp = 包含选定 JDBC 驱动的 JAR 包。必须安装到 GERONIMO/repository/ 目录后才会在列表中显示。 realmwizard._sql.eitherPoolOrJDBC = SQL 安全域必须通过数据库连接池或者 JDBC 连接来连到数据库。请选择是使用数据库连接池,还是使用JDBC。 realmwizard._sql.groupSelectSQLExp = 用来获得用户所属组的信息。这个语句应该返回两列值,第一列是用户名,第二列是组名。这个语句可以使用 PreparedStatement 语法,用?来表示参数。一个典型的设置是 SELECT username, group_name FROM user_groups WHERE username=?或者,为了获得更加规范的模式,可用SELECT u.username, g.name FROM app_users u, groups g, user_groups ug WHERE ug.user_id=users.id AND ug.group_id=g.id AND u.username=?。 realmwizard._sql.selectDatabasePool = SQL 安全域必须通过数据库连接池或者 JDBC 连接来连到数据库。请选择是使用数据库连接池,还是使用JDBC。 realmwizard._sql.userSelectSQLExp = 用来获得用户名/密码的 SQL 语句。这个语句应该返回两列值,第一列是用户名,第二列是密码。这个语句可以使用 PreparedStatement 语法,用 ? 来表示参数。一个典型的设置是SELECT username, password FROM app_users WHERE username=? realmwizard.advanced.AuditEnabledExp = 如果启用,每次尝试登录都会被记录到特定的文件。文件路径应相对于 Geronimo 的家目录(通常的取值可能是var/log/login-attempts.log)。 realmwizard.advanced.credentialName = 证书名称 realmwizard.advanced.credentialNameExp = 如果启用,安全域将存储每个用户名和密码到一个私有证书,该证书位于特定证书名称下的Subject中. realmwizard.advanced.failuresWithin = 次登录失败后,在 realmwizard.advanced.failuresWithinSeconds = 秒内 realmwizard.advanced.keepAccountLockedFor = 并保持帐号锁定 realmwizard.advanced.keepAccountLockedForSeconds = 秒 realmwizard.advanced.lockUserAfter = 锁定用户在 realmwizard.advanced.lockoutEnabledExp = 如果启用,用户在一定时间段内登录失败一定次数后用户的帐号将会被锁定一段时间。这可以用来防止暴力破解帐号的攻击。 realmwizard.advanced.namedCredential = Named Credential realmwizard.advanced.storePasswordEnabledExp = 如果启用,每个用户的密码会保存在Subject的私有credential中。这将允许在登录完成以后,可以得到密码。 这通常不是必须的。 realmwizard.advanced.title = 创建安全域 -- 步骤3:高级配置选项 realmwizard.common.JDBCDriverClass = JDBC 驱动类 realmwizard.common.JDBCPassword = JDBC 密码 realmwizard.common.JDBCUrl = JDBC URL realmwizard.common.JDBCUsername = JDBC 用户名 realmwizard.common.addSecurityRealm = 添加新的安全域 realmwizard.common.addToEAR = 添加到 EAR 中 realmwizard.common.comfirmPwd = 确认密码 realmwizard.common.configurationOptions = 配置选项 realmwizard.common.controlFlag = 控制标志 realmwizard.common.databasePool = 数据库连接池 realmwizard.common.deploy = 部署 realmwizard.common.deployCommand = 部署命令 realmwizard.common.deployRealm = 部署安全域 realmwizard.common.deploymentPlan = 部署计划 realmwizard.common.digestAlgorithm = 摘要算法 realmwizard.common.digestEncoding = 摘要编码 realmwizard.common.driverJAR = 驱动 JAR realmwizard.common.editRealm = 编辑安全域 realmwizard.common.editSettings = 编辑设置 realmwizard.common.emptyText = 焦点所在字段不能为空。 realmwizard.common.enableAuditing = 打开审核功能 realmwizard.common.enableLockout = 打开锁定功能 realmwizard.common.groupSelectSQL = Group SELECT SQL realmwizard.common.integer = 焦点所在字段必须为整数。 realmwizard.common.logFile = 日志文件 realmwizard.common.loginDomainName = 登录域名 realmwizard.common.loginModule = 登录模块 realmwizard.common.loginModuleClass = 登录模块类 realmwizard.common.nameOfSecurityRealm = 安全域名称 realmwizard.common.passwordMismatch = 密码不匹配。 realmwizard.common.principals = 主体 realmwizard.common.realmName = 安全域名称 realmwizard.common.realmType = 安全域类型 realmwizard.common.serverSide = 服务器端 realmwizard.common.serverWide = 服务器范围 realmwizard.common.showPlan = 显示部署计划 realmwizard.common.skipTestAndDeploy = 跳过测试并部署 realmwizard.common.skipTestAndShowPlan = 跳过测试并显示部署计划 realmwizard.common.storePassword = 存储密码 realmwizard.common.supportAdvancedMapping = 支持高级映射 realmwizard.common.testAgain = 再次测试 realmwizard.common.testLogin = 测试登录 realmwizard.common.userSelectSQL = User SELECT SQL realmwizard.configure.certprops.groupsURI.description = 包含组信息的属性文件的位置(相对于 Geronimo 安装目录)。每一行的格式应该是 group=user,user,...。 realmwizard.configure.certprops.groupsURI.name = 组文件 URI realmwizard.configure.certprops.usersURI.description = 包含证书到用户的映射信息的属性文件的位置(相对于 Geronimo 安装目录)。每一行的格式应该是username=certificatename,其中证书名为X509Certificate.getSubjectX500Principal().getName()。 realmwizard.configure.certprops.usersURI.name = 用户文件 URI realmwizard.configure.ldap.authentication.description = 使用的安全级别,可以是none, simple, 或者strong(通常的值是simple。如果不指定这个属性,行为由服务供应商决定。 realmwizard.configure.ldap.authentication.name = 验证 realmwizard.configure.ldap.connectionPassword.description = 用于连接 LDAP 服务器的密码。 realmwizard.configure.ldap.connectionPassword.name = 连接密码 realmwizard.configure.ldap.connectionProtocol.description = 用于与 LDAP 服务器进行通信的连接协议。通常留空,如果服务器支持的话可以将它设为ssl。 realmwizard.configure.ldap.connectionProtocol.name = 连接协议 realmwizard.configure.ldap.connectionURL.description = LDAP 服务器的 URL。通常这会是ldap://ldap-server-hostname:389(或者对于包含在 Geronimo 中的 Apache 目录服务器,为ldap://localhost:1389)。 realmwizard.configure.ldap.connectionURL.name = 连接 URL realmwizard.configure.ldap.connectionUsername.description = 用于连接到 LDAP 服务器的用户名。这应该是一个管理员或者目录管理者,他有权检查其他用户的密码。 realmwizard.configure.ldap.connectionUsername.name = 连接用户名 realmwizard.configure.ldap.initialContextFactory.description = 初始上下文工厂的完整限定类名。如果你确定应该用什么值,可以使用com.sun.jndi.ldap.LdapCtxFactory。 realmwizard.configure.ldap.initialContextFactory.name = 初始上下文工厂 realmwizard.configure.ldap.roleBase.description = 搜索角色的基础 LDAP 上下文(位置)。搜索可能只查找该位置,或者还包扩字上下文,这将取决于下面的"角色搜索子树"设定。 realmwizard.configure.ldap.roleBase.name = 角色基础 realmwizard.configure.ldap.roleName.description = 对应角色名称的 LDAP 属性类型。常常设为cn。 realmwizard.configure.ldap.roleName.name = 角色名称 realmwizard.configure.ldap.roleSearchMatching.description = 角色用于查找属于该角色的用户的 LDAP 属性搜索字符串。当角色有很多相同名称但取值不同的属性时(每个用户一个)使用它。通常使用参数{0}来标识用户名。典型值可能为(member={0})或者(memberUID={0})。 realmwizard.configure.ldap.roleSearchMatching.name = 角色用户搜索字符串 realmwizard.configure.ldap.roleSearchSubtree.description = 如果设为true,则"角色基础"下面的子树也将被搜索以查找角色。如果设为false,则只有"角色基础"位置本身会被搜索。 realmwizard.configure.ldap.roleSearchSubtree.name = 角色搜索子树 realmwizard.configure.ldap.userBase.description = 搜索用户的基础 LDAP 上下文(位置)。搜索可能只查找该位置,或者还包扩字上下文,这将取决于下面的"用户搜索子树"设定。 realmwizard.configure.ldap.userBase.name = 用户基础 realmwizard.configure.ldap.userRoleName.description = 如果角色条目没有针对用户的属性,而用户条目有一个针对角色的属性,则应该使用它而不是"角色用户搜索字符串"。它命名了用户上的属性,该属性列出了一个角色,这个角色包含了该用户。典型值可能是(memberOf={0})。 realmwizard.configure.ldap.userRoleName.name = 用户角色搜索字符串 realmwizard.configure.ldap.userSearchMatching.description = 是用于查找用户的 LDAP 属性搜索字符串。允许 RFC-2254 过滤器,且通常使用参数{0}来标识用户名。典型值可能为(uid={0})或者(cn={0})。 realmwizard.configure.ldap.userSearchMatching.name = 用户搜索匹配 realmwizard.configure.ldap.userSearchSubtree.description = 如果设为true,则"用户基础"下面的子树也将被搜索以查找用户。如果设为false,则只有"用户基础"位置本身会被搜索。 realmwizard.configure.ldap.userSearchSubtree.name = 用户搜索子树 realmwizard.configure.props.digest.description = 用在密码上的消息摘要算法(例如,MD5, SHA1 等)。如果不使用摘要算法则将该字段留空。 realmwizard.configure.props.digest.name = 摘要算法 realmwizard.configure.props.encoding.description = 摘要使用的编码(例如,hex, base64)。只有指定了消息摘要算法才使用它。如果没有指定编码,则使用hex。 realmwizard.configure.props.encoding.name = 摘要编码 realmwizard.configure.props.groupsURI.description = 包含组信息的属性文件的位置(相对于 Geronimo 安装目录)。每一行的格式应该是 group=user,user,...。 realmwizard.configure.props.groupsURI.name = 组文件 URI realmwizard.configure.props.usersURI.description = 包含用户/密码信息的属性文件的位置(相对于 Geronimo 安装目录)。每一行的格式应该是username=password。 realmwizard.configure.props.usersURI.name = 用户文件 URI realmwizard.configure.title = 创建安全域 --步骤 2 :配置登录模块 realmwizard.edit.configurationOptionsExp = 登录模块必须的任何配置选项,以标准的Java属性文件格式(一行一个,如:name=value) realmwizard.edit.controlFlagExp = 登录模块的控制标志,用来控制当登录模块成功或失败时,总的登录过程会怎样。更详细的信息,请看 realmwizard.edit.ifLeaveBlank = 如果你不需要使用下列所有的登录模块,只需要把额外的模块留空即可。 realmwizard.edit.loginDomainExp = 这个登录模块对应的登录域,模块名称在安全域的所有模块中必须是唯一的。这样就可以通过主体(principal) 来区分两个相同的登录模块。(例如,从两个LDAP登录模块指向两个不同的 LDAP 服务器) realmwizard.edit.loginModuleClassExp = 登录模块的完全限定类名。 realmwizard.edit.loginModuleJAR = 登录模块 JAR realmwizard.edit.loginModuleJARExp = 此 JAR 文件中包含登录模块类和主体类. realmwizard.edit.realmNameExp = 取一个不同于服务器中任何其他安全域的名称。名称中请不要有空格。其他组件将使用这个名称来指向此安全域。 realmwizard.edit.serverSideExp = 在应用服务器中执行Server-side的登录模块(这通常是正确的)。在客户端环境执行的是 Client-side 的登录模块,举例来说,为了使用客户操作系统系统的单点登录特性。 realmwizard.edit.summary =

这个页面用来编辑新的或已存在的安全域。

一个安全域可能包含一个或多个登录模块。很多简单的安全域仅仅包含一个登录模块。可以使用额外的登录模块来访问更多的安全相关信息。或者添加类似于审核安全域而不影响安全域验证流程的功能。 realmwizard.edit.supportAdvancedMappingExp = 通常,Geronimo 不能区别有同样名称的两个不同的主体,以及两个不同登录模块产生的同样的主体类。如果启用则这个选项,Geronimo 会包装主体并跟踪每个主体来自哪个安全域和登录模块。这让你可以在Geronimo 部署计划的安全映射中使用 realm-principal 和 login-domain-principal 元素。 realmwizard.list.noSecurityRealms = 不存在预定义的安全域 realmwizard.list.seeExamples = 对于列出的每一个域,可以点击用法来查看如何在你的应用中使用该域的例子。 realmwizard.list.title = 这个页面显示了所有可用的安全域。可以编辑服务器级别的安全域,作为单个应用一部分被部署的安全域则不能被编辑(而应修改应用部署计划)。 realmwizard.selectType.nameOfSecurityRealmExp = 给安全域选取一个不同于服务器中其它安全域的名称,名称中请不要有空格。其它组件将使用这个名称来指向该安全域。 realmwizard.selectType.realmTypeExp = 登录模块的类型决定了安全域类型。选择 “其他"可以手动配置一些选项,如自定义登录模块、使用多个登录模块来填充用户身主体的安全域。 realmwizard.selectType.title = 创建安全域 --步骤 1: 选择名称和类型 realmwizard.showPlan.addToEARExp = 你可以将安全域部署为EAR的一部分,而不是部署为顶层的安全域。要使用这个部署计划将安全域添加到EAR中,在你的EAR中创建META-INF/geronimo-application.xml文件,其中包含上面部署计划中的dependency元素和gbean元素。它应该象下面这样: realmwizard.showPlan.deployCommandExp = 如果在命令行中使用这个部署计划来部署安全域,将它拷贝粘帖到一个文件(如security-realm.xml)中并保存。然后运行下面的命令: realmwizard.showPlan.title = 创建安全域 -- 显示部署计划 realmwizard.testLogin.passwordExp = 用来登录到安全域的密码。 realmwizard.testLogin.summary = 在这里你可以为安全域的主登录模块输入用户名和密码,检查登录是否成功,查看为用户生成了哪些主体。这可以指示主登录模块的设置是否正确。它不会调用象审核,锁定帐号等高级功能。 realmwizard.testLogin.title = 创建安全域 --步骤 4:测试登录 realmwizard.testLogin.usernameExp = 用来登录到安全域的用户名。 realmwizard.testResults.testResults = 测试结果 realmwizard.testResults.title = 创建安全域 -- 步骤 5: 登录结果 realmwizard.usage.applicationCode = 应用程序代码 realmwizard.usage.applicationCodeExp =

使用安全角色,并不需要特殊的应用程序代码。

如果应用程序中调用HttpServletRequest.getUserPrincipal(),Geronimo会返回一个实现GeronimoCallerPrincipal接口的 principal 类的实例。--通常是用户名(因为GeronimoUserPrincipal实现了GeronimoCallerPrincipal接口)。如果你正在使用自定义的登录模块,而调用getUserPrincipal时得到了错误的结果。尝试将你的 user principal 类实现GeronimoCallerPrincipal接口。

如果应用调用HttpServletRequest.isUserInRole(role),Geronimo将会根据安全域登录模块分配给该用户的principal是否列出在上面的角色映射中来决定返回 true 还是 false。

realmwizard.usage.geronimoWebXmlLater =

这个例子表明,{0} 将被用来处理 Web 应用的所有登录。 接着它使用主体类和主体名称的联合来把 admin 角色映射到用户 root ,和组 administrators 。注意如果{0} 使用自定义的登录模块,主体类可能会有所不同。 但是上面列出的是被所有的标准的Geronimo登录模块使用的用户和组。

也可以配置单独的登录模块和单独的登录域名称,然后在角色映射中使用登录域名称(这样,在登录域 Foo 中的 root 用户,和在登录域 Bar 中的 root 用户是不一样的),但这仅仅在你有多个登录模块来给用户分配主体时才重要。

最后,如果security块是在 EAR 的application.xml 部署描述符中声明的,那么就没有必要在 EAR 中的任何模块中重复它。-- 它们会共享相同的角色映射信息。

realmwizard.usage.geronimoWebXmlPreface =

为了配置安全域和每个角色的成员,Web 应用需要有一个geronimo-web.xml部署计划。它可以打包在 WAR 包的WEB-INF目录中,或者它也可以在部署工具的命令行中单独地提供。

geronimo-web.xml部署计划应该有一个security-realm-name元素,用来标明在 Web 应用中用什么安全域来验证登录。它同样有一个 security元素,用来列出用户和组,这些用户和组应该是 web.xml中的security-role标明的角色的成员。 realmwizard.usage.title = 这个页面介绍怎样在 J2EE 应用中使用安全域{0} 。这里是以 Web 应用为例,对于其他程序模块,也可使用类似的方法。 realmwizard.usage.webXmlShouldHave =

web.xml 中应该含有