методы для работы с юзерами в бд
parent
d2257d4323
commit
8cb50f6762
|
@ -1,8 +1,11 @@
|
|||
package ru.ldeloff.hedgehogcloud.repository;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import ru.ldeloff.hedgehogcloud.entity.UserEntity;
|
||||
|
||||
@Repository
|
||||
public interface UserRepository extends JpaRepository<UserEntity, String> {
|
||||
UserEntity findByUsername(String username);
|
||||
|
||||
}
|
||||
|
|
|
@ -1,38 +1,11 @@
|
|||
package ru.ldeloff.hedgehogcloud.service;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.ldeloff.hedgehogcloud.entity.UserEntity;
|
||||
import ru.ldeloff.hedgehogcloud.repository.RoleRepository;
|
||||
import ru.ldeloff.hedgehogcloud.repository.UserRepository;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.PersistenceContext;
|
||||
|
||||
|
||||
@Service
|
||||
public class UserService implements UserDetailsService {
|
||||
UserRepository userRepository;
|
||||
RoleRepository roleRepository;
|
||||
|
||||
@Autowired
|
||||
public UserService(UserRepository userRepository,
|
||||
RoleRepository roleRepository) {
|
||||
this.userRepository = userRepository;
|
||||
this.roleRepository = roleRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
||||
UserEntity user = userRepository.findByUsername(username);
|
||||
if (user == null) {
|
||||
throw new UsernameNotFoundException("User not found");
|
||||
}
|
||||
return user;
|
||||
}
|
||||
public interface UserService extends UserDetailsService {
|
||||
UserDetails loadUserByUsername(String username);
|
||||
void saveUser(UserEntity user);
|
||||
UserEntity getByUserName(String name); // TODO попробовать userdetails юзать
|
||||
}
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
package ru.ldeloff.hedgehogcloud.service;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.ldeloff.hedgehogcloud.entity.UserEntity;
|
||||
import ru.ldeloff.hedgehogcloud.repository.RoleRepository;
|
||||
import ru.ldeloff.hedgehogcloud.repository.UserRepository;
|
||||
|
||||
@Service
|
||||
public class UserServiceImpl implements UserService {
|
||||
UserRepository userRepository;
|
||||
RoleRepository roleRepository;
|
||||
|
||||
@Autowired
|
||||
public UserServiceImpl(UserRepository userRepository,
|
||||
RoleRepository roleRepository) {
|
||||
this.userRepository = userRepository;
|
||||
this.roleRepository = roleRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
||||
UserEntity user = userRepository.findByUsername(username);
|
||||
if (user == null) {
|
||||
throw new UsernameNotFoundException("User not found");
|
||||
}
|
||||
return user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveUser(UserEntity user) {
|
||||
UserEntity userTemp = getByUserName(user.getUsername());
|
||||
if (userTemp == null) {
|
||||
userRepository.save(user);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserEntity getByUserName(String name) {
|
||||
return userRepository.findByUsername(name);
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue