gpt4 book ai didi

jakarta-ee - 如何在wildfly web app中实现LDAP登录

转载 作者:行者123 更新时间:2023-12-03 13:02:17 24 4
gpt4 key购买 nike

如何在 Java EE WildFly 应用程序中实现 LDAP 身份验证?有没有例子?

我是 Java EE 的新手,需要使用 LDAP 编写一个应用程序,但我被卡住了。我读了一本关于在 WildFly 中进行开发的书,但那里没有关于 LDAP 的信息。

最佳答案

必须执行以下操作步骤才能使用 LDAP 验证您的应用程序(假设已设置 LDAP)。

standalone.xml 中创建新的安全域文件。

<security-domain name="LDAPAuth">
<authentication>
<login-module code="LdapExtended" flag="required">
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<module-option name="java.naming.provider.url" value="ldap://localhost:389"/>
<module-option name="java.naming.security.authentication" value="simple"/>
<module-option name="bindDN" value="uid=admin,dc=acme,dc=com"/>
<module-option name="bindCredential" value="secret"/>
<module-option name="baseCtxDN" value="ou=People,dc=acme,dc=com"/>
<module-option name="baseFilter" value="(uid={0})"/>
<module-option name="rolesCtxDN" value="ou=Roles,dc=acme,dc=com"/>
<module-option name="roleFilter" value="(member={1})"/>
<module-option name="roleAttributeID" value="cn"/>
<module-option name="searchScope" value="ONELEVEL_SCOPE"/>
<module-option name="allowEmptyPasswords" value="true"/>
</login-module>
</authentication>
</security-domain>

您将不得不相应地更改值

现在,您必须在应用程序的 web.xml 中添加安全上下文。假设您只需要 user 的用户登录到您的应用程序的角色,然后您可以添加这样的内容

    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

<security-constraint>
<web-resource-collection>
<web-resource-name>HtmlAuth</web-resource-name>
<description>application security constraints</description>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>Manager</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>LDAPAuth realm</realm-name>
</login-config>
<security-role>
<role-name>user</role-name>
</security-role>
</web-app>

你必须放置一个 jboss-web.xml在您的 WEB-INF 文件夹中包含以下内容

    <jboss-web>
<security-domain>java:/jaas/LDAPAuth</security-domain>
</jboss-web>

你可以找到关于这个主题的精彩教程 here

关于jakarta-ee - 如何在wildfly web app中实现LDAP登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30186681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com