当前位置: 首页 > news >正文

做国外网站什么定位网页界面设计主要内容有哪些

做国外网站什么定位,网页界面设计主要内容有哪些,电商平台建设公司,广东网站备案 时间🍁 作者:知识浅谈,CSDN签约讲师,CSDN博客专家,华为云云享专家,阿里云专家博主 📌 擅长领域:全栈工程师、爬虫、ACM算法 💒 公众号:知识浅谈 🔥网站…

🍁 作者:知识浅谈,CSDN签约讲师,CSDN博客专家,华为云云享专家,阿里云专家博主
📌 擅长领域:全栈工程师、爬虫、ACM算法
💒 公众号:知识浅谈
🔥网站:vip.zsqt.cc

视频教程:
上一篇:SpringSecurity集成JWT实现后端认证授权保姆级教程-认证配置篇
🤞上一节编写了对应的SpringSecurity的认证,本节开始进行SpringSecurity授权🤞

🎈修改用户类返回用户权限信息

修改对应的getAuthorities方法
在这里插入图片描述

@TableName(value ="cust_user")
@Data
public class CustUser implements Serializable, UserDetails {  //这里新增实现UserDetails @TableId(type = IdType.AUTO)private Integer id;private String username;private String nickname;private Integer enable;private String password;
//----------------------------------------------------以下为新增的部分---------------------------------@TableField(exist = false)private List<String> permissions;  //权限集合//存储SpringSecurity所需要的权限信息的集合//安全限制,不允许序列化@JSONField(serialize = false)@JsonIgnore@TableField(exist = false)private List<GrantedAuthority> authorities;@Overridepublic Collection<? extends GrantedAuthority> getAuthorities() {
//        return Arrays.asList(new SimpleGrantedAuthority("ROLE_USER"));if (this.authorities == null) {//把permissions中字符串类型的权限信息转换成GrantedAuthority对象存入authorities中this.authorities = this.permissions.stream().distinct().map(SimpleGrantedAuthority::new).collect(Collectors.toList());}return this.authorities;}//------------------------------------------------------------------------------------------------@Overridepublic boolean isAccountNonExpired() {return true;}@Overridepublic boolean isAccountNonLocked() {return true;}@Overridepublic boolean isCredentialsNonExpired() {return true;}@Overridepublic boolean isEnabled() {return true;}@TableField(exist = false)private static final long serialVersionUID = 1L;
}

🎈对CustUserServiceImpl 进行修改

对CustUserServiceImpl 中的loadUserByUsername进行修改

  1. 针对之前的数据准备篇的CustUserServiceImpl实现类 进行更改

    @Service
    public class CustUserServiceImpl extends ServiceImpl<CustUserMapper, CustUser> implements CustUserService{ //这个地方新增实现CustUserService接口@Autowiredprivate CustUserMapper custUserMapper;@Autowiredprivate SysMenuMapper menuMapper;//-----------------------------------------------------以下为修改的内容------------------------------------------@Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {LambdaQueryWrapper<CustUser> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(CustUser::getUsername, username);CustUser user = custUserMapper.selectOne(queryWrapper);if (user == null) {log.error("用户名不存在");throw new UsernameNotFoundException("用户名不存在");}else {List<String> permissions = menuMapper.selectPermsByUserId(user.getId());user.setPermissions(permissions); //封装权限return user;}}
    //----------------------------------------------------------------------------
    }
    

    上边的这个主要是实现loadUserByUsername方法中获取数据库中用户的权限。
    添加之后会发现上边的menuMapper.selectPermsByUserId(user.getId());报错,因为我们还没有在menuMapper新增selectPermsByUserId方法,接下来我们新增一个查询用户权限的方法。

🎈新增根据用户id查询权限的方法

在mapper/SysMenuMapper中的新增方法selectPermsByUserId

public interface SysMenuMapper extends BaseMapper<SysMenu> {List<String> selectPermsByUserId(Integer id);
}

在resources/SysMenuMapper/xml中的新增方法selectPermsByUserId

    <select id="selectPermsByUserId" resultType="java.lang.String">SELECTDISTINCT m.`perms`FROMsys_user_role urLEFT JOIN `sys_role` r ON ur.`role_id` = r.`id`LEFT JOIN `sys_role_menu` rm ON ur.`role_id` = rm.`role_id`LEFT JOIN `sys_menu` m ON m.`id` = rm.`menu_id`WHEREuser_id = #{id}AND r.`status` = 0AND m.`status` = 0</select>

🎈编写权限测试的接口

在数据库中的增加test权限
在这里插入图片描述

@Api(tags = "测试类")
@RestController
@RequestMapping("/test")
public class TestController {@Autowiredprivate CustUserService custUserService;@ApiOperation(value = "测试方法")@PreAuthorize("hasAuthority('test')")  // 权限验证 需要用户具有test权限@GetMapping("/test")public CustUser test(){return custUserService.getById(1);}}

到这授权就已经好了。如果还想根据角色进行权限认证,可自己百度,后边有时间我会更新。

🍚总结

大功告成,撒花致谢🎆🎇🌟,关注我不迷路,带你起飞带你富。
Writted By 知识浅谈

http://www.yayakq.cn/news/362900/

相关文章:

  • wordpress全站固定链接一个企业seo网站的优化流程
  • 手机模板网站浙江省火电建设公司网站
  • 湛江市住房和城乡建设局网站怎么在腾讯地图上添加自己的店铺
  • 做最好的言情网站手机兼职工作有哪些
  • 网站如何带来流量医生咨询在线24小时免费
  • 韩国漫画漫免费观看免费公司网站的seo优化
  • 做网站想要个计算器功能湖南人文科技学院
  • 潍坊市坊子区建设局网站wordpress主题安装全解析
  • 临沂做进销存网站南宁网站建设 醉懂网络
  • wordpress广告调用代码西安市seo排名按天优化
  • 专做民宿的网站庆阳网站设计厂家
  • 建设银行四川分行 招聘网站18款禁用软件app破解版
  • 完整网站源码下载佛山网站设计平台
  • 网站改版费用谷歌做英文网站
  • 淮安制作企业网站深圳做企业网站哪家好
  • 哪些公司的网站做的漂亮wordpress 主题错误
  • 网站开发中网页上传和发布专业建站网网站运营推广
  • 什么网站做污水处理药剂的好网站哪里有
  • 网站建设长春wordpress主题制作调用插件
  • 网站备案找回好玩的网页游戏链接
  • 闲鱼钓鱼网站怎么制作关键词排名方法
  • 做的比较好的返利网站知乎建筑公司简介模板范文
  • ssc网站建设交流群做网站网站牟利200万判刑
  • 商城网站数据库企业门户网站建设论文
  • 律师事务所网站模板口红做网站多少钱
  • 做网站需要登录什么软件成都网站设计公司官网
  • 农产品如何建设网站网站美工和网页设计的区别
  • 如何攻击网站微信抽奖小程序制作
  • 网站建设主要包括什么wordpress 邮件发布
  • 域名和空间都有了怎么做网站河南省智慧团建