我必须在Spring Boot中做一个LoginController来验证数据库中是否存在用户名和密码。为了进行验证,我制作了我的存储库UserRepository,它扩展了CrudRepository。
当我将用户名和密码发送到存储库时,它们可以发送,但是当我执行查询时,并没有考虑参数的区分大小写。
例如:在USER表中,我的用户名=“ Test”,密码=“ test” 如果我用用户名=“ test”和密码=“ Test”发出请求,似乎我在表中有此用户名和密码,但是我没有。
下面我在查询中添加了一段代码,如果您能帮助我解决这个问题,我将不胜感激。
谢谢您的时间。
@Repository
public interface UserRepository extends CrudRepository<User, Long>{
User findByUsername(String username);
User findByEmail(String email);
@Query(value = "SELECT user_id FROM user WHERE username = :username AND password = :password", nativeQuery = true)
Long findUserIdByUsernameAndPassword(@Param("username") String username, @Param("password") String password);
}