博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Security安全框架实现权限登录
阅读量:3967 次
发布时间:2019-05-24

本文共 1853 字,大约阅读时间需要 6 分钟。

使用Security安全框架实现权限登录

Security是一个基于Spring安全访问控制解决方案的安全框架

代码如下:

/**     * 多对多  用户可以有多个角色     */    private List
sysRoles = new ArrayList<>(); public List
getSysRoles() {
return sysRoles; } public void setSysRoles(List
sysRoles) {
this.sysRoles = sysRoles; }
@Service("sysUserService")@Transactional  //事务注解public class SysUserServiceImpl implements SysUserService {
@Autowired(required = false) private SysUserDao sysUserDao; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
//根据username查询数据 SysUser sysUser = sysUserDao.findByName(username); if (sysUser != null) {
//创建一个授权集合 Collection
collection = new ArrayList<>(); //创建一个授权对象 //TODO 从sysUser中查询出所有角色 for (SysRole sysRole : sysUser.getSysRoles()) {
GrantedAuthority grantedAuthority = new SimpleGrantedAuthority("ROLE_" + sysRole.getRolename()); collection.add(grantedAuthority); } User user = new User(sysUser.getUsername(), sysUser.getPassword(), collection); return user; } return null; }}

dao层

public interface SysUserDao {
/** * TODO 登录 * 根据用户名和状态查询一个 SysUser 对象 * * @param username * @return */ SysUser findByName(String username);}

SysUserDao.xml

security.xml中的部分配置

转载地址:http://albki.baihongyu.com/

你可能感兴趣的文章
SQL - SQL Server 性能优化之SQL语句总结
查看>>
Docker - docker-compose常用命令
查看>>
SQL - SQL Server判断字符串中是否有中文
查看>>
SQL - SQL Server查询近7天的连续日期
查看>>
SQL - SQL Server中如何取年、月、日 -DATEPART函数
查看>>
SQL - SQL Server 一列或多列重复数据的查询,删除
查看>>
NET - .NET Core WebAPI + Vue + Axios 导出Excel / CSV
查看>>
NET - NET Core quartz.net 时间表达式----- Cron表达式详解
查看>>
NET - .NET Core 之 Abp Audit-Logging
查看>>
NET - .NET Core 之 Abp 整合 Quartz
查看>>
Spring - Nacos 配置实时更新原理分析
查看>>
依赖注入
查看>>
android 各式各样progress 进度条大全
查看>>
开发Google眼镜的app
查看>>
Android base-adapter-helper 源码分析与扩展
查看>>
Android 4.4从图库选择图片,获取图片路径并裁剪
查看>>
Android Fragment 你应该知道的一切
查看>>
使用AudioManager调节播放器音量的开发实例
查看>>
安卓开发者必备的42个链接
查看>>
Eclipse下Ant自动打包,混淆和签名
查看>>