Spring Web应用程序上的LDIF问题-无法验证?

时间:2019-06-26 15:20:30

标签: java spring ldap ldif

我有一个Spring Web应用程序,并尝试将LDAP与LDIF文件而不是LDAP服务器一起使用。我按照示例here进行了操作,以查看如何执行基本的LDIF项目,并在尝试将其集成到Web应用程序时出现错误。

我的应用程序代码段:

@RestController
@CrossOrigin
@RequestMapping("/Test/")
public class Home{
    @RequestMapping(value = "/{userName}", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
    @ResponseBody
    public String getInfo(@PathVariable String userName) {
        //code here
    }

WebSecurityConfig.java文件(来自示例链接)

@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .anyRequest().fullyAuthenticated()
                .and()
            .formLogin();
    }

    @Override
    public void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth
            .ldapAuthentication()
                .userDnPatterns("uid={0},ou=people")
                .groupSearchBase("ou=groups")
                .contextSource()
                    .url("ldap://localhost:8389/dc=springframework,dc=org")
                    .and()
                .passwordCompare()
                    .passwordEncoder(new LdapShaPasswordEncoder())
                    .passwordAttribute("userPassword");
    }

}

application.properties

spring.ldap.embedded.base-dn=dc=springframework,dc=org 
spring.ldap.embedded.ldif=classpath:test-server.ldif 
spring.ldap.embedded.port=8389 
spring.ldap.embedded.url=ldap://localhost:8389/

现在这是我的问题-

  1. WebSecurityConfig.java文件是否足以检查身份验证,或者我需要修改主应用程序?

  2. spring.ldap的端口重要吗?我的应用程序使用端口XXXX-我应该将8389更改为XXXX吗?

  3. 以及ldap url-我应该将localhost更改为war文件的已部署文件夹的ip还是localhost固有地识别它? (我认为是这样)

  4. 我需要创建Web登录/密码页面并输入密码以登录并与LDIF文件进行匹配吗?我使用的示例有其自己的登录页面-如果工作正常或需要提供该页面,我不确定是否在那里?

0 个答案:

没有答案