若依框架注册新用户,且赋角色,

若依官网

1、如何开启注册功能

  1. 开启前端注册开关。不管使用下那种方式开启注册功能,首先,先在前端里面views下找到login.vue,将启注册开关先给设置为true,保存重启即可。如下图
    在这里插入图片描述

2、两种开启新增用户的方法

  1. 使用数据库开启,在数据库找到sys_config表打开,如下图,将config_key为sys.account.registerUser的config_value的值改为true刷新即可
    在这里插入图片描述

  2. 或者通过web端开启当然本质上都是从数据库开启,如图,找到系统管理/参数设置,找到用户注册,点击修改,将参数键值从false改为true刷新即可,
    在这里插入图片描述

2、在用户创建的时候给用户分配角色

无论那个方式,其都是向user提供了一个角色id使其向用户和角色关联表插入一条数据,只要保证你提供的角色id无误即可。

方式1 (不推荐)

我这里使用了比较简单的方法,这里我的思路是当用户被创建时,对sys_user_role表做操作,增加用户id和角色id(角色提前要配置好(在用户管理配置)),这样只是固定角色(新注册的用户的角色都一样,比如说都为普通用户)。
我的xml文件(我这里让新注册的用户角色都为2)然后再在实现层SysUserServiceImpl.java中在registerUser方法中调用新增角色方法即可完成。
在这里插入图片描述

方式2(推荐)

实现方式和第一种一样的,只需要在registerUser需改;

  /**
     * 注册用户信息
     *
     * @param user 用户信息
     * @return 结果
     */
    @Override
    @Transactional
    public boolean registerUser(SysUser user)
    {
        int res = userMapper.insertUser(user);
        // 默认user.getUserId()就可以获取到userId, mybatis: <insert id="insertUser" useGeneratedKeys="true" keyProperty="userId">
        insertUserRole(user.getUserId(),new Long[]{2L});
        // 若是你的user.getUserId() = null,就用下面这个
        // insertUserRole(selectUserByUserName(user.getUserName()).getUserId(),new Long[]{2L});
        return res > 0;
    }

在这里插入图片描述

Logo

快速构建 Web 应用程序

更多推荐