永发信息网

springmvc 登录怎么跟数据库验证

答案:1  悬赏:30  手机版
解决时间 2021-02-11 09:36
springmvc 登录怎么跟数据库验证
最佳答案
springmvc登录验证使用db校验:
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import UserBean;

@Repository
@Service
@Transactional(readOnly=true)
public class SimpleUserDetailsService implements UserDetailsService {

@Autowired
private UserDao userDAO;

private UserBean domainUser;

public UserDetails loadUserByUsername(String login)
throws UsernameNotFoundException {
domainUser = userDAO.getUser(login);

boolean enabled = true;
boolean disabled = false;
boolean accountNonExpired = true;
boolean accountExpired = false;
boolean credentialsNonExpired = true;
boolean credentialsExpired = false;
boolean accountNonLocked = true;
boolean accountLocked = false;

if (null != domainUser){
return new User(
domainUser.getUsername(), //getLogin(),
domainUser.getPassword(),
enabled,
accountNonExpired,
credentialsNonExpired,
accountNonLocked,
getAuthorities(domainUser.getIduser() ) );

} else {
return new User(
"**20**",
"**//**",
disabled,
accountExpired,
credentialsExpired,
accountLocked,
getAuthorities(-20 ) ) ;
}

}

public Collection getAuthorities(Integer userid) {
List authList = getGrantedAuthorities(getRoles(userid));
return authList;
}

public List getRoles(Integer userid) {

List roles = new ArrayList();
roles = userDAO.getUserRoles(userid);

return roles;
}

public static List getGrantedAuthorities(List roles) {
List authorities = new ArrayList();

for (String role : roles) {
authorities.add(new SimpleGrantedAuthority(role));
}
return authorities;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
岑通驾校(梧州岑溪)地址有知道的么?有点事想
台灣人所說的革命情感是什麼意思
曹丽君中西医结合诊所怎么去啊,有知道地址的
下图是糕点店包装盒的展开图.(单位:cm)①
求宿州市灵璧县乡镇逢集时间表
干贝排骨粥干贝怎么泡
纯洁的朋友和知心朋友之间的区别
安达驾校(梧州岑溪)地址有知道的么?有点事想
为什么gay都喜欢蓝色
富易达投资在哪里啊,我有事要去这个地方
【谨庠序之教】翻译""谨痒序之教,申之以孝悌
教练(梧州岑溪市)地址在哪,我要去那里办事
俄罗斯中科雷姆斯克一年四季都是冰雪覆盖吗
1972年农历腊月二十四下午五六点钟出生是什么
岑通驾校(梧州岑溪市)地址在什么地方,我要处
推荐资讯
茂名市华技职业培训学校在哪里啊,我有事要去
1234的手机尾号值钱吗
重庆市四十七中学地址在什么地方,想过去办事
那坡县烟草专卖局地址有知道的么?有点事想过
台湾大鸡排(西涧路店)怎么去啊,有知道地址的
世界500强第一强是谁
樱花之家地址在哪,我要去那里办事
洛克王国神圣人鱼怎么学冰晶结界和幽灵镜?
外国人把书比作是什么
6.根据示例,为下列事物写一句咏物寓理的话.
北京丰台英博中西医结合医院靠谱吗
PE中怎么启用网络–大白菜帮助中心
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?