若依框架前后端分离用户管理
时间: 2023-09-25 14:17:32 浏览: 261
若依框架是一个用于Web应用程序的管理系统,可以用于各种应用程序,如网站管理后台、网站会员中心、CMS、CRM和OA等。该框架提供了一套完整的用户管理功能,包括用户登录、权限验证等。在用户登录验证方面,若依框架使用了springsecurity框架,并继承了UserDetailsService接口的loadUserByUsername(String username)方法来验证用户的身份。然而,由于项目需求中存在多张用户表的情况,需要对这个方法进行一些修改。
具体的修改方法可以在UserDetailsServiceImpl中进行,该类位于ryi-framework模块中的com.ruoyi.framework.web.service包下。在loadUserByUsername方法中,可以通过添加部分代码来解决多张用户表的问题。通过使用JSON将用户名和用户类型封装为一个字符串,然后在方法中解析出用户名,并使用该用户名进行用户的查询操作。
具体的修改代码如下:
```java
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
// 添加部分代码
NameHelper nameHelper = JSON.parseObject(username, NameHelper.class);
username = nameHelper.getName();
// 添加部分代码
SysUser user = userService.selectUserByUserName(username);
if (Validator.isNull(user)) {
log.info("登录用户:{} 不存在.", username);
throw new UsernameNotFoundException("登录用户:" + username + " 不存在");
} else if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) {
log.info("登录用户:{} 已被删除.", username);
throw new BaseException("对不起,您的账号:" + username + " 已被删除");
} else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) {
log.info("登录用户:{} 已被停用.", username);
throw new BaseException("对不起,您的账号:" + username + " 已停用");
}
return createLoginUser(user);
}
```
通过以上的修改,若依框架可以满足多种用户登录的需求,并且尽量减少了对原框架的修改。同时,如果你对具体的修改步骤还有其他疑问,可以留言评论以便进一步讨论。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
阅读全文
相关推荐

















