登录权限修改

dev
masong 3 years ago
parent 354188e6e0
commit 8498476aeb
  1. 2
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
  2. 4
      ruoyi-admin/src/main/resources/application-druid.yml
  3. 4
      ruoyi-admin/src/main/resources/application.yml
  4. 12
      ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
  5. 4
      ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
  6. 12
      ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java
  7. 1
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
  8. 7
      ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
  9. 10
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
  10. 5
      ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@ -46,7 +46,7 @@ public class SysLoginController
AjaxResult ajax = AjaxResult.success();
// 生成令牌
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
loginBody.getUuid());
loginBody.getUuid(),loginBody.getOrganCode());
ajax.put(Constants.TOKEN, token);
return ajax;
}

@ -6,9 +6,9 @@ spring:
druid:
# 主库数据源
master:
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url: jdbc:mysql://localhost:3306/ruoyi-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: password
password: root
# 从库数据源
slave:
# 从数据源开关/默认关闭

@ -74,9 +74,9 @@ spring:
# 端口,默认为6379
port: 6379
# 数据库索引
database: 0
database: 4
# 密码
password:
password: 123
# 连接超时时间
timeout: 10s
lettuce:

@ -26,6 +26,10 @@ public class LoginBody
* 唯一标识
*/
private String uuid;
/**
* 企业标识号
*/
private String organCode;
public String getUsername()
{
@ -66,4 +70,12 @@ public class LoginBody
{
this.uuid = uuid;
}
public String getOrganCode() {
return organCode;
}
public void setOrganCode(String organCode) {
this.organCode = organCode;
}
}

@ -57,9 +57,10 @@ public class SysLoginService
* @param password 密码
* @param code 验证码
* @param uuid 唯一标识
* @param organCode 企业标识号
* @return 结果
*/
public String login(String username, String password, String code, String uuid)
public String login(String username, String password, String code, String uuid,String organCode)
{
boolean captchaEnabled = configService.selectCaptchaEnabled();
// 验证码开关
@ -71,6 +72,7 @@ public class SysLoginService
Authentication authentication = null;
try
{
username = username+"-"+organCode;
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username, password);
AuthenticationContextHolder.setContext(authenticationToken);
// 该方法会去调用UserDetailsServiceImpl.loadUserByUsername

@ -34,9 +34,17 @@ public class UserDetailsServiceImpl implements UserDetailsService
private SysPermissionService permissionService;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
public UserDetails loadUserByUsername(String data) throws UsernameNotFoundException
{
SysUser user = userService.selectUserByUserName(username);
String username = "";
String organCode ="";
if(StringUtils.isNotBlank(data)){
String[] datas = data.split("-");
username = datas[0];
organCode = datas[1];
}
// SysUser user = userService.selectUserByUserName(username);
SysUser user = userService.selectUserByUserNameAndOrganCode(username,organCode);
if (StringUtils.isNull(user))
{
log.info("登录用户:{} 不存在.", username);

@ -43,6 +43,7 @@ public interface SysUserMapper
*/
public SysUser selectUserByUserName(String userName);
public SysUser selectUserByUserNameAndOrganCode(@Param("userName") String userName,@Param("organCode") String organCode);
/**
* 通过用户ID查询用户
*

@ -42,6 +42,13 @@ public interface ISysUserService
*/
public SysUser selectUserByUserName(String userName);
/**
* 通过用户名企业编号查询用户
* @param userName
* @param organCode
* @return 用户对象信息
*/
public SysUser selectUserByUserNameAndOrganCode(String userName,String organCode);
/**
* 通过用户ID查询用户
*

@ -111,7 +111,15 @@ public class SysUserServiceImpl implements ISysUserService
{
return userMapper.selectUserByUserName(userName);
}
/**
* 通过用户名企业编号查询用户
* @param userName
* @param organCode
* @return 用户对象信息
*/
public SysUser selectUserByUserNameAndOrganCode(String userName,String organCode){
return userMapper.selectUserByUserNameAndOrganCode(userName,organCode);
}
/**
* 通过用户ID查询用户
*

@ -124,7 +124,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectUserVo"/>
where u.user_name = #{userName} and u.del_flag = '0'
</select>
<select id="selectUserByUserNameAndOrganCode" parameterType="String" resultMap="SysUserResult">
<include refid="selectUserVo"/>
where u.user_name = #{userName} and u.organ_code=#{organCode} and u.del_flag = '0'
</select>
<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
<include refid="selectUserVo"/>
where u.user_id = #{userId}

Loading…
Cancel
Save