通过电子邮件进行jhipster身份验证登录 [英] jhipster authentication login with email

查看:298
本文介绍了通过电子邮件进行jhipster身份验证登录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一种使用电子邮件/密码进行身份验证的方式,而不是默认的登录(用户名)/密码.

I'm looking for a way to use email / password as authentication and not the default login(username) / password.

我正在使用Spring Security oauth2.

I'm using spring security oauth2.

这可能吗?我确实允许用户更改电子邮件.

Would this be possible? I do allow change email for the user.

Google不是我的朋友.

Google was not my friend.

我的代码也不是黑客: 在登录栏中输入相同的电子邮件时,出现身份验证错误

Nor was my code hacking: When putting the same email in the login-column I got authentication errors

推荐答案

在'com.example.myjhipster.security.UserDetailsS​​ervice'中找到了('mine')解决方案

Found the('mine') solution in 'com.example.myjhipster.security.UserDetailsService'

    @Override
    @Transactional
    public UserDetails loadUserByUsername(final String login) {
        log.debug("Authenticating {}", login);

        String lowercaseLogin = login.toLowerCase();
//        Optional<User> userFromDatabase =  userRepository.findOneByLogin(login);
        Optional<User> userFromDatabase =  userRepository.findOneByEmail(login);
        return userFromDatabase.map(user -> {
            if (!user.getVerified()) {
                throw new UserNotActivatedException("User " + lowercaseLogin + " was not activated");
            }

            List<GrantedAuthority> grantedAuthorities = user.getAuthorities().stream()
                    .map(authority -> new SimpleGrantedAuthority(authority.getName()))
                    .collect(Collectors.toList());
//            return new org.springframework.security.core.userdetails.User(lowercaseLogin,
            return new org.springframework.security.core.userdetails.User(user.getLogin(),
                    user.getPassword(),
                    grantedAuthorities);
        }).orElseThrow(() -> new UsernameNotFoundException("User " + lowercaseLogin + " was not found in the database"));
    }

这篇关于通过电子邮件进行jhipster身份验证登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆