Sử dụng gmail để gửi email xác thực khi đăng ký tài khoản

04/05/2020 | Blog | 1 Lời bình

Trang chủ » Blog » Sử dụng gmail để gửi email xác thực khi đăng ký tài khoản
  • Bài trước mình đã hướng dẫn phần cấu hình để sử dụng gmail xong xong, bài viết này mình sẽ hướng dẫn các bạn sử dụng gmail để gửi tin nhắn xác thực tài khoản
  • Các bạn tạo một class có tên là EmailService đặt ở trong package Service

xác thực gmail Spring Boot

  • Entity User

xác thực gmail Spring Boot

  • UserRepository

xác thực gmail Spring Boot

  • UserService

  • UserServiceImpl
package com.codegym.quiz.service.impl;



import com.codegym.quiz.model.User;

import com.codegym.quiz.model.UserPrinciple;

import com.codegym.quiz.repository.UserRepository;

import com.codegym.quiz.service.UserService;

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 org.springframework.transaction.annotation.Transactional;



import java.util.Optional;



@Service

public class UserServiceImpl implements UserService {

    @Autowired

    private UserRepository userRepository;



    @Override

    @Transactional

    public UserDetails loadUserByUsername(String username) {

        User user = userRepository.findByUsername(username);

        if (user == null) {

            throw new UsernameNotFoundException(username);

        }

        if (this.checkLogin(user)) {

            return UserPrinciple.build(user);

        }

        boolean enable = false;

        boolean accountNonExpired = false;

        boolean credentialsNonExpired = false;

        boolean accountNonLocked = false;

        return new org.springframework.security.core.userdetails.User(user.getUsername(),

                user.getPassword(), enable, accountNonExpired, credentialsNonExpired,

                accountNonLocked, null);

    }





    @Override

    public void save(User user) {

        userRepository.save(user);

    }



    @Override

    public Iterable<User> findAll() {

        return userRepository.findAll();

    }



    @Override

    public User findByUsername(String username) {

        return userRepository.findByUsername(username);

    }



    @Override

    public Optional<User> findById(Long id) {

        return userRepository.findById(id);

    }



    @Override

    public boolean checkLogin(User user) {

        Iterable<User> users = this.findAll();

        boolean isCorrectUser = false;

        for (User currentUser : users) {

            if (currentUser.getUsername().equals(user.getUsername())

                    && user.getPassword().equals(currentUser.getPassword()) &&

                    currentUser.isEnabled()) {

                isCorrectUser = true;

            }

        }

        return isCorrectUser;

    }



    @Override

    public User findByEmail(String email) {

        return userRepository.findByEmail(email);

    }



    @Override

    public boolean isCorrectConfirmPassword(User user) {

        boolean isCorrectConfirmPassword = false;

        if (user.getPassword().equals(user.getConfirmPassword())) {

            isCorrectConfirmPassword = true;

        }

        return isCorrectConfirmPassword;

    }

}
  • UserController

  • Và đây là kết quả sau khi đăng ký tài khoản thành công

Author: Nguyễn Minh Quân

 

Đăng ký nhận bộ tài liệu kỹ năng dành cho lập trình viên (video hướng dẫn + slide) tại đây

Tìm hiểu thêm về mô hình Coding Bootcamp tại đây

Tags:

1 Lời bình

  1. Võ Lê Văn

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

Tạo và sử dụng USER FUNCTION

Tạo và sử dụng USER FUNCTION

Với các vấn đề mà các FUNCTION không giải quyết được. Thì chúng ta phải tự tạo ra một FUNCTION để sử dụng, hay còn gọi là USER FUNCTION.

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Nhận tư vấn, định hướng 1-1

Điền và gửi thông tin cá nhân để được tư vấn miễn phí về các chương trình học.

14 + 14 =