spring security 自定义登录页面及从数据库查询账户登录

一.使用自定义登录页面

  1.首先关闭 登录页面 , 登录错误后跳转页面, 登录成功后跳转页面 的拦截

     








 

  2.自定义登录页面

 
        
        
        login
                            login-page="/login.jsp"
                            login-processing-url="/log"
                             default-target-url="/index.jsp"
                             authentication-failure-url="/file.jsp"
        />
        
        
 
   

二. 从数据库查询用户登录

1.修改spring-security配置

 

   
  
  

2.创建pojo dao service层

注:service接口要继承UserDetailsService

public class MembersServiceImpl implements MembersService {

    @Autowired
    MembersDao membersDao;

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
          //根据用户名获取对象
       Members members
= membersDao.findByName(username); if (members!=null){
        //创建角色集合对象 Collection
authorities = new ArrayList<>();
           GrantedAuthority grantedAuthority
= new SimpleGrantedAuthority("ROLE_USER"); authorities.add(grantedAuthority); User user = new User(members.getUserName(), "{noop}"+members.getPassword(), authorities); return user; } return null; } }

 

 

 

注:顺序不能错,先关闭要页面的拦截,再定义页面,否则无法运行

转载于:https://www.cnblogs.com/dragonyl/p/11240926.html

你可能感兴趣的:(spring security 自定义登录页面及从数据库查询账户登录)