Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建存根登录页_Java_Spring_Login - Fatal编程技术网

Java 创建存根登录页

Java 创建存根登录页,java,spring,login,Java,Spring,Login,我正在开发一个应用程序,其中身份验证是使用LDAP完成的。我在本地计算机上没有LDAP设置,由于某些原因,我也无法设置它 我如何创建一个存根登录页面,在这里我只需输入用户名和一些arbit密码,用户就可以得到身份验证。身份验证后,应创建一个会话,以及以下调用: request.getUserPrincipal().getName() 应将登录页面上输入的用户名返回给我 我有一个基于java/J2EE的应用程序,它基于spring、hibernate(如果这有帮助)即使您没有检查密码,您也需要将

我正在开发一个应用程序,其中身份验证是使用LDAP完成的。我在本地计算机上没有LDAP设置,由于某些原因,我也无法设置它

我如何创建一个存根登录页面,在这里我只需输入用户名和一些arbit密码,用户就可以得到身份验证。身份验证后,应创建一个会话,以及以下调用:

request.getUserPrincipal().getName()
应将登录页面上输入的用户名返回给我


我有一个基于java/J2EE的应用程序,它基于spring、hibernate(如果这有帮助)

即使您没有检查密码,您也需要将输入的名称与要验证的用户ID匹配。为此,您需要查询记录,这本质上意味着在本地系统上设置LDAP


如果您无法做到这一点,请尝试或其他替代方法。

您可以使用不需要任何安装的ApacheDS,并在本地启用嵌入式LDAP服务器

我们将此场景用于集成测试和开发模式

以下是具有spring安全提供程序配置的配置:

<ldap-server ldif="classpath:ldap-users.ldif" port="33389" root="dc=yourCompany,dc=com" />

<beans:bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
    <beans:property name="url" value="ldaps://127.0.0.1:33389/dc=yourCompany,dc=com"/>
    <beans:property name="userDn" value="cn=Manager,cn=Users"/>
    <beans:property name="password" value="secret"/>
</beans:bean>

<beans:bean id="ldapTemplate" class ="org.springframework.ldap.core.LdapTemplate" >
    <beans:constructor-arg ref="contextSource" />
</beans:bean>
如果您没有使用Maven,只需下载jar并将其放在类路径中


希望能有所帮助

我希望对身份验证过程进行存根。无法在本地计算机上设置LDAP。我明白了。因此,用一些预定义的返回值(存根用户)替换您进行身份验证的函数。仅返回一些值并不能达到目的。它不会创建新的请求和会话,也不会从request.getUserPrincipal().getName()获取用户名。投票结果被否决了,因为这与答案相去甚远。我已经写了一个问题,我不能设置LDAP,改为设置OpenLDAP不是一个解决方案!。好吧,好吧,获取request.getUserPrincipal(是来自javax.servlet.http的命令,所以您需要设置某种服务器。是的,要从请求获取用户,servlet容器是obv。我没有提到obv。事情。总之,我的应用程序部署在Weblogic服务器上。
<ldap-server ldif="classpath:ldap-users.ldif" port="33389" root="dc=yourCompany,dc=com" />
            <dependency>
                <groupId>org.apache.directory.server</groupId>
                <artifactId>apacheds-server-jndi</artifactId>
                <version>1.5.5</version>
            </dependency>