开发喵星球

若依用户创建的时候分配角色(283)

方式一

当用户被创建时,对sys_user_role表做操作,增加用户id角色id(角色提前要配置好(在角色管理配置)),这样只是固定角色(新注册的用户的角色都一样,比如说都为普通用户)。

xml文件(这里让新注册的用户角色都为2)然后再在实现层SysUserServiceImpl.java中在registerUser方法中调用新增角色方法即可完成。

<insert id="insertRole" parameterType="SysUser">
        insert into sys_user_role (user_id,role_id) values (#{userId}, 2)
</insert>

方式二(推荐)

只需要修改registerUser方法:

  /**
     * 注册用户信息
     * 
     * @param user 用户信息
     * @return 结果
     */
    @Override
    public boolean registerUser(SysUser user)
    {
//        //第一种实现方式:
//        Boolean total = userMapper.insertUser(user) > 0;
//        // mybatis: <insert id="insertUser" useGeneratedKeys="true" keyProperty="userId">
//        // 插入角色
//        insertUserRole(selectUserByUserName(user.getUserName()).getUserId(),new Long[]{2L});
//        return total;

        //第二种
        int res = userMapper.insertUser(user);
        // 默认user.getUserId()获取userId
        insertUserRole(user.getUserId(),new Long[]{2L});
        // 若是user.getUserId() = null,用下面这个
        insertUserRole(selectUserByUserName(user.getUserName()).getUserId(),new Long[]{2L});
         return res > 0;

        // 原本代码:
        // return userMapper.insertUser(user) > 0;
    }
   
分类:Java/OOP 作者:无限繁荣, 吴蓉 发表于:2024-07-28 16:02:46 阅读量:82
<<   >>


powered by kaifamiao