【问题标题】:Spring Security: Access is Denied ExceptionSpring Security:访问被拒绝异常
【发布时间】:2014-09-25 16:08:51
【问题描述】:

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

这是我的配置:

<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>

这是我的LoginController

public class LoginController extends AbstractController {

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

}

【问题讨论】:

    标签: java spring spring-mvc spring-security spring-security-ldap


    【解决方案1】:

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

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

    这是一个正确进行 ldap 身份验证的好教程:http://krams915.blogspot.ru/2011/01/spring-security-mvc-using-ldap.html

    【讨论】:

    • 谢谢您的回复,但是这个账号不是由提供用户名和密码登录的用户提供吗?
    • 要验证此帐户,您将需要(可能)另一个,用于连接到 ldap 服务器。要检查它 - 使用一些 ldap 浏览器手动连接到 ldap 服务器,例如 jxplorer.org
    猜你喜欢
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 2020-12-19
    • 1970-01-01
    • 2012-05-19
    • 2014-11-19
    • 2013-04-29
    • 2019-08-30
    相关资源
    最近更新 更多