【问题标题】:ldap spring security http basic authldap spring security http基本身份验证
【发布时间】:2013-01-11 04:09:14
【问题描述】:

您能给我一些链接或解决方案来解决我的问题吗? 问题如下。我有一个 LDAP 服务器。如何通过此 LDAP 服务器进行 http 基本授权?

提前致谢。

【问题讨论】:

    标签: spring-security ldap basic-authentication


    【解决方案1】:

    你需要设置两个不同的 Spring Security 特征:

    【讨论】:

      【解决方案2】:

      谢谢。我做了这样的配置:

      <security:http auto-config="true" use-expressions="true">
          <security:intercept-url pattern="/index.jsp" access="isAuthenticated()"/>
          <security:http-basic/>
      </security:http>
      

      然后,BasicAuthenticationFilter

          <bean id="basicAuthenticationFilter"
            class="org.springframework.security.web.authentication.www.BasicAuthenticationFilter">
          <property name="authenticationEntryPoint" ref="BauthenticationEntryPoint"/>
          <property name="authenticationManager" ref="BauthenticationManager"/>
      </bean>
      

      入口点和经理是这样描述的:

        <bean id="BauthenticationEntryPoint"   class="org.springframework.security.web.authentication.www.BasicAuthenticationEntryPoint">
          <property name="realmName" value="Name Of Your Realm"/>
      </bean>
      <bean id="BauthenticationManager" class="org.springframework.security.authentication.ProviderManager">
          <property name="providers">
              <list>
                  <ref local="ldapAuthProvider"/>
              </list>
          </property>
      </bean>
      

      最后

          <bean id="ldapAuthProvider"
            class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
          <constructor-arg>
              <bean class="org.springframework.security.ldap.authentication.BindAuthenticator">
                  <constructor-arg ref="contextSource"/>
                  <property name="userDnPatterns">
                      <list>
                          <value>sAMAccountName={0}</value>
                      </list>
                  </property>
              </bean>
          </constructor-arg>
          <constructor-arg>
              <bean
                      class="org.springframework.security.ldap.userdetails.DefaultLdapAuthoritiesPopulator">
                  <constructor-arg ref="contextSource"/>
                  <constructor-arg value=""/>
              </bean>
          </constructor-arg>
      </bean>
      

      当我尝试访问 /index.jsp 时,我显示了一个 stadart http auth 窗口,该窗口要求我输入用户名和密码。当我将其输入表单并按 Enter 时,什么也没有发生 - 身份验证窗口只是重新加载,仅此而已。

      我在哪里做错了? 谢谢。

      【讨论】:

      • 创建另一个问题会更好。
      猜你喜欢
      • 2015-07-22
      • 2011-02-11
      • 2013-02-11
      • 2012-02-18
      • 2016-09-01
      • 2016-03-20
      • 1970-01-01
      • 2015-10-20
      • 2016-04-30
      相关资源
      最近更新 更多