glassfish login-module-config
时间: 2023-08-07 07:02:34 浏览: 65
`login-module-config` 是GlassFish服务器中用于配置认证机制的元素之一。它通常与 `security-service` 元素一起使用,用于指定一组认证模块,以实现用户身份验证和授权。
一个 `login-module-config` 元素通常包含以下子元素:
- `login-module-class`:指定认证模块的Java类名。
- `module-options`:指定认证模块的配置参数。它们作为键值对的形式传递给认证模块的初始化方法。例如,可以使用 `module-option` 元素来指定用户名和密码的键名和键值。
- `flag`:指定认证模块的运行方式。例如,可以使用 `required` 标志来指定认证模块是必需的,或者使用 `requisite` 标志来指定认证模块是可选的但必须成功。
一个 `security-service` 元素可以包含多个 `login-module-config` 元素,这些元素可以按照指定的顺序运行,直到有一个模块成功验证用户身份或者所有模块都失败为止。这样可以提高系统的安全性和可靠性。
以下是一个 `security-service` 元素的示例配置,其中包含两个 `login-module-config` 元素:
```
<security-service>
<realm>
<authentication>
<login-module-config>
<login-module-class>com.sun.enterprise.security.auth.login.LdapLoginModule</login-module-class>
<module-options>
<option name="java.naming.provider.url" value="ldap://ldap.example.com:389"/>
<option name="java.naming.security.principal" value="cn=admin,dc=example,dc=com"/>
<option name="java.naming.security.credentials" value="password"/>
<option name="user-search-base" value="ou=people,dc=example,dc=com"/>
<option name="user-search-filter" value="(uid={username})"/>
</module-options>
</login-module-config>
<login-module-config>
<login-module-class>com.sun.enterprise.security.auth.login.FileLoginModule</login-module-class>
<module-options>
<option name="file" value="${com.sun.aas.instanceRoot}/config/admin-keyfile"/>
<option name="debug" value="true"/>
</module-options>
</login-module-config>
</authentication>
</realm>
</security-service>
```
在这个配置中,第一个 `login-module-config` 元素指定了 LDAP 认证模块,第二个 `login-module-config` 元素指定了文件认证模块。这两个认证模块按照指定的顺序运行,直到有一个模块成功验证用户身份或者所有模块都失败为止。