diff options
author | 2016-11-25 13:20:15 +0300 | |
---|---|---|
committer | 2016-11-25 13:20:15 +0300 | |
commit | 55b09a6a3bc4a21201189d855e140308f05016fb (patch) | |
tree | 543c880aaf15bf396eca6255bd816fb7d5dc9f12 /juick-server/src/main/java/com/juick/server/security/JuickAuthenticationProvider.java | |
parent | efe9b6d78c9aac2b92afe2d55d2f33e4b5e6d179 (diff) |
juick-api: security WIP
Diffstat (limited to 'juick-server/src/main/java/com/juick/server/security/JuickAuthenticationProvider.java')
-rw-r--r-- | juick-server/src/main/java/com/juick/server/security/JuickAuthenticationProvider.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/juick-server/src/main/java/com/juick/server/security/JuickAuthenticationProvider.java b/juick-server/src/main/java/com/juick/server/security/JuickAuthenticationProvider.java new file mode 100644 index 00000000..bf0ed4d7 --- /dev/null +++ b/juick-server/src/main/java/com/juick/server/security/JuickAuthenticationProvider.java @@ -0,0 +1,35 @@ +package com.juick.server.security; + +import com.juick.service.UserService; +import org.springframework.security.authentication.AuthenticationProvider; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.core.authority.SimpleGrantedAuthority; + +import javax.inject.Inject; +import java.util.Collections; + +/** + * Created by vitalyster on 25.11.2016. + */ +public class JuickAuthenticationProvider implements AuthenticationProvider { + @Inject + UserService userService; + @Override + public Authentication authenticate(Authentication authentication) throws AuthenticationException { + String name = authentication.getName(); + String password = authentication.getCredentials().toString(); + if (userService.checkPassword(name, password) > 0) { + return new UsernamePasswordAuthenticationToken(name, password, Collections.singletonList( + new SimpleGrantedAuthority("ROLE_USER") + )); + } + return null; + } + + @Override + public boolean supports(Class<?> authentication) { + return authentication.equals(UsernamePasswordAuthenticationToken.class); + } +} |