Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.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/14.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 Spring安全:访问被拒绝异常_Java_Spring_Spring Mvc_Spring Security_Spring Security Ldap - Fatal编程技术网

Java Spring安全:访问被拒绝异常

Java Spring安全:访问被拒绝异常,java,spring,spring-mvc,spring-security,spring-security-ldap,Java,Spring,Spring Mvc,Spring Security,Spring Security Ldap,我正在尝试使用OpenLDAP服务器通过LDAP配置Spring安全性,我正在将其配置为在用户打开应用程序时重定向到我自己的LoginController。但是,每次尝试连接到应用程序时,它都会抛出AccessDeniedException,它从未进入我的LoginController public class LoginController extends AbstractController { @Override protected ModelAndView handleRequ

我正在尝试使用OpenLDAP服务器通过
LDAP
配置Spring安全性,我正在将其配置为在用户打开应用程序时重定向到我自己的
LoginController
。但是,每次尝试连接到应用程序时,它都会抛出AccessDeniedException,它从未进入我的
LoginController

public class LoginController extends AbstractController {

  @Override
  protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) {
    return new ModelAndView("LOGIN");
  }

}
以下是我的配置:

<bean name="/login" class="controller.LoginController" />

<s:ldap-server url="ldap://localhost:389/dc=maxcrc,dc=com" />

<s:http pattern="/login*" security="none" />
<s:http auto-config="true" use-expressions="true">
    <s:intercept-url pattern="/**" access="isAuthenticated()" />
    <s:logout invalidate-session="true" logout-url="/logout" logout-success-url="/login" />
    <s:form-login login-page="/login" login-processing-url="/j_spring_security_check" />
</s:http>

<s:authentication-manager alias="authenticationManager">
    <s:ldap-authentication-provider user-dn-pattern="uid={0},ou=people" />
</s:authentication-manager>

检查您是否可以匿名访问ldap服务器,因为您没有指定要连接的帐户,如本示例中所示:

<security:ldap-server url="ldap://localhost:10389/o=mojo" 
       manager-dn="uid=admin,ou=system"    manager-password="secret" />


下面是一个正确进行ldap身份验证的好教程:

谢谢您的回复,但该帐户不是由将通过提供用户名和密码登录的用户提供的吗?要验证该帐户,您需要(可能)另一个帐户,用于连接ldap服务器。要进行检查,请使用ldap浏览器(如)手动连接到ldap服务器