0

Я не могу войти в систему, используя пружинную защиту.Весна-сила безопасности «http» аутентификация

Ошибка (в Mozilla)

The connection was interrupted 

The connection to 127.0.0.1:8180 was interrupted while the page was loading. 

The site could be temporarily unavailable or too busy. Try again in a few moments. 
If you are unable to load any pages, check your computer's network connection. 
If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web. 

Недавно я добавил службу, которая будет получать пользователей из базы данных. прежде чем все было в порядке, но теперь я ошеломлен. Пожалуйста, покажи мне, где копать.

URL-адрес, где я получаю эту ошибку является:

https://localhost:8180/j_spring_security_check 

весна-security.xml

<http auto-config="true"> 
    <http-basic/> 
    <intercept-url pattern="/sec/moderation.html" access="ROLE_MODERATOR"/> 
    <intercept-url pattern="/admin/*" access="ROLE_ADMIN"/> 
    <intercept-url pattern="/treeview" access="ROLE_ADMIN"/> 

    <form-login login-page="/login" default-target-url="/home" authentication-failure-url="/error"/> 
    <logout logout-success-url="/home"/> 
</http> 

<authentication-manager alias="authenticationManager"> 
    <authentication-provider user-service-ref="customUserDetailsService"> 
     <password-encoder hash="plaintext"></password-encoder> 
    </authentication-provider> 
</authentication-manager> 

CustomUserDetailsService.java

@Service 
@Transactional(readOnly=true) 
public class CustomUserDetailsService implements UserDetailsService { 

@Autowired 
private UserDao userDao; 


@Override 
public UserDetails loadUserByUsername(String login) throws UsernameNotFoundException { 

    UserEntity domainUser = userDao.getUser(login); 

    boolean enabled = true; 
    boolean accountNonExpired = true; 
    boolean credentialsNonExpired = true; 
    boolean accountNonLocked = true; 

    return new User(
      domainUser.getLogin(), 
      domainUser.getPassword(), 
      enabled, 
      accountNonExpired, 
      credentialsNonExpired, 
      accountNonLocked, 
      getAuthorities(domainUser.getRole()) 
    ); 
} 

public Collection<? extends GrantedAuthority> getAuthorities(Integer role) { 
    List<GrantedAuthority> authList = getGrantedAuthorities(getRoles(role)); 
    return authList; 
} 

public List<String> getRoles(Integer role) { 

    List<String> roles = new ArrayList<String>(); 

    if (role.intValue() == 1) { 
     roles.add("ROLE_MODERATOR"); 
     roles.add("ROLE_ADMIN"); 
    } else if (role.intValue() == 2) { 
     roles.add("ROLE_MODERATOR"); 
    } 
    return roles; 
} 

public static List<GrantedAuthority> getGrantedAuthorities(List<String> roles) { 
    List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>(); 

    for (String role : roles) { 
     authorities.add(new SimpleGrantedAuthority(role)); 
    } 
    return authorities; 
} 

}

У меня есть возможность отключить https для/j_spring_security_check?

+0

Страница входа в систему - это страница входа в Spring или ваша собственная? –

ответ

0

Страница входа по умолчанию, сгенерированная весной, не использует https, поэтому я предполагаю, что вы используете пользовательскую страницу. Требование для https должно быть в элементе <form action="..."> этой страницы.

+0

Я использовал свою собственную страницу входа. Спасибо за совет, он решил мою проблему. – Rindir