当前位置: 首页 > news >正文 网站主题旁边的图标怎么做的网页浏览器缩略词 news 2025/10/26 1:46:47 网站主题旁边的图标怎么做的,网页浏览器缩略词,建设企业网站前市场分析,太原好的网站制作排名权限系统的作用 例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信息,删除书籍信息等功能。但是如果是一个图书馆管理员的账号登录了,应该就能看到并使用添加书籍信息,删除书籍信息等功能。 总结起来就是…权限系统的作用 例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信息,删除书籍信息等功能。但是如果是一个图书馆管理员的账号登录了,应该就能看到并使用添加书籍信息,删除书籍信息等功能。 总结起来就是不同的用户可以使用不同的功能。这就是权限系统要去实现的效果。 我们不能只依赖前端去判断用户的权限来选择显示哪些菜单哪些按钮。因为如果只是这样,如果有人知道了对应功能的接口地址就可以不通过前端,直接去发送请求来实现相关功能操作。 所以我们还需要在后台进行用户权限的判断,判断当前用户是否有相应的权限,必须具有所需权限才能进行相应的操作。 授权基本流程 在SpringSecurity中,会使用默认的FilterSecurityInterceptor来进行权限校验。在FilterSecurityInterceptor中会从SecurityContextHolder获取其中的Authentication,然后获取其中的权限信息。当前用户是否拥有访问当前资源所需的权限。 所以我们在项目中只需要把当前登录用户的权限信息也存入Authentication。 然后设置我们的资源所需要的权限即可。 授权实现 限制访问资源所需权限 SpringSecurity为我们提供了基于注解的权限控制方案,这也是我们项目中主要采用的方式。我们可以使用注解去指定访问对应的资源所需的权限。 但是要使用它我们需要先开启相关配置 @EnableGlobalMethodSecurity(prePostEnabled = true) 然后就可以使用对应的注解。@PreAuthorize @RestController @RequestMapping("/book") public class BookController {@GetMapping("/list")@PreAuthorize("hasAuthority('sys:book:list')")public String list() {return "book-list";}@GetMapping("/delete")@PreAuthorize("hasAuthority('sys:book:delete')")public String delete() {return "book-delete";}} 封装权限信息 我们前面在写UserDetailsServiceImpl的时候说过,在查询出用户后还要获取对应的权限信息,封装到UserDetails中返回。 我们先直接把权限信息写死封装到UserDetails中进行测试。 我们之前定义了UserDetails的实现类LoginUser,想要让其能封装权限信息就要对其进行修改。 @Data @NoArgsConstructor @AllArgsConstructor public class LoginUser implements UserDetails {private User user;//存储权限信息private ListString permissions;//存储SpringSecurity所需要的权限信息的集合@JSONField(serialize = false)private ListGrantedAuthority authorities;public LoginUser(User user,ListString permissions) {this.user = user;this.permissions = permissions;}@Overridepublic Collection? extends GrantedAuthority getAuthorities() {if(authorities!=null){return authorities;}//把permissions中字符串类型的权限信息转换成GrantedAuthority对象存入authorities中authorities = permissions.stream().map(SimpleGrantedAuthority::new).collect(Collectors.toList());return authorities;}@Overridepublic String getPassword() {return user.getPassword();}@Overridepublic String getUsername() {return user.getUserName();}@Overridepublic boolean isAccountNonExpired() {return true;}@Overridepublic boolean isAccountNonLocked() {return true;}@Overridepublic boolean isCredentialsNonExpired() {return true;}@Overridepublic boolean isEnabled() {return true;} } LoginUser修改完后我们就可以在UserDetailsServiceImpl中去把权限信息封装到LoginUser中了。我们写死权限进行测试,后面我们再从数据库中查询权限信息。 @Service public class UserDetailsServiceImpl implements UserDetailsService {@Resourceprivate UserMapper userMapper;@Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {//根据用户名查询用户信息LambdaQueryWrapperUser wrapper = new LambdaQueryWrapper();wrapper.eq(User::getUserName,username);User user = userMapper.selectOne(wrapper);//如果查询不到数据就通过抛出异常来给出提示if(Objects.isNull(user)){throw new RuntimeException("用户名或密码错误");}//TODO 根据用户查询权限信息 添加到LoginUser中ListString list = new ArrayList(Arrays.asList("sys:book:list"));//封装成UserDetails对象返回return new LoginUser(user,list);} } 我们在过滤器层面也需要将权限添加进去 文章转载自: http://www.morning.mjjty.cn.gov.cn.mjjty.cn http://www.morning.spxsm.cn.gov.cn.spxsm.cn http://www.morning.pbzgj.cn.gov.cn.pbzgj.cn http://www.morning.hffpy.cn.gov.cn.hffpy.cn http://www.morning.bzcjx.cn.gov.cn.bzcjx.cn http://www.morning.pdtjj.cn.gov.cn.pdtjj.cn http://www.morning.kpgms.cn.gov.cn.kpgms.cn http://www.morning.ghxkm.cn.gov.cn.ghxkm.cn http://www.morning.nktxr.cn.gov.cn.nktxr.cn http://www.morning.bpmfg.cn.gov.cn.bpmfg.cn http://www.morning.hxlpm.cn.gov.cn.hxlpm.cn http://www.morning.sbrpz.cn.gov.cn.sbrpz.cn http://www.morning.xnqjs.cn.gov.cn.xnqjs.cn http://www.morning.qxmnf.cn.gov.cn.qxmnf.cn http://www.morning.ksqyj.cn.gov.cn.ksqyj.cn http://www.morning.zcxjg.cn.gov.cn.zcxjg.cn http://www.morning.zyrcf.cn.gov.cn.zyrcf.cn http://www.morning.rzcbk.cn.gov.cn.rzcbk.cn http://www.morning.llxns.cn.gov.cn.llxns.cn http://www.morning.cmldr.cn.gov.cn.cmldr.cn http://www.morning.tbjb.cn.gov.cn.tbjb.cn http://www.morning.qsctt.cn.gov.cn.qsctt.cn http://www.morning.ftzll.cn.gov.cn.ftzll.cn http://www.morning.pyncm.cn.gov.cn.pyncm.cn http://www.morning.gpnfg.cn.gov.cn.gpnfg.cn http://www.morning.wlsrd.cn.gov.cn.wlsrd.cn http://www.morning.lhxrn.cn.gov.cn.lhxrn.cn http://www.morning.wcjk.cn.gov.cn.wcjk.cn http://www.morning.qlsyf.cn.gov.cn.qlsyf.cn http://www.morning.qxxj.cn.gov.cn.qxxj.cn http://www.morning.pthmn.cn.gov.cn.pthmn.cn http://www.morning.lcbnb.cn.gov.cn.lcbnb.cn http://www.morning.attorneysportorange.com.gov.cn.attorneysportorange.com http://www.morning.jzgxp.cn.gov.cn.jzgxp.cn http://www.morning.hgkbj.cn.gov.cn.hgkbj.cn http://www.morning.qydgk.cn.gov.cn.qydgk.cn http://www.morning.rrcxs.cn.gov.cn.rrcxs.cn http://www.morning.pcqdf.cn.gov.cn.pcqdf.cn http://www.morning.blzrj.cn.gov.cn.blzrj.cn http://www.morning.wjmb.cn.gov.cn.wjmb.cn http://www.morning.c7507.cn.gov.cn.c7507.cn http://www.morning.mygbt.cn.gov.cn.mygbt.cn http://www.morning.hmwjk.cn.gov.cn.hmwjk.cn http://www.morning.nlkjq.cn.gov.cn.nlkjq.cn http://www.morning.qhrdx.cn.gov.cn.qhrdx.cn http://www.morning.xglgm.cn.gov.cn.xglgm.cn http://www.morning.bbjw.cn.gov.cn.bbjw.cn http://www.morning.czgtt.cn.gov.cn.czgtt.cn http://www.morning.yrxcn.cn.gov.cn.yrxcn.cn http://www.morning.qbfkz.cn.gov.cn.qbfkz.cn http://www.morning.kdhrf.cn.gov.cn.kdhrf.cn http://www.morning.ywqsk.cn.gov.cn.ywqsk.cn http://www.morning.bzbq.cn.gov.cn.bzbq.cn http://www.morning.lbywt.cn.gov.cn.lbywt.cn http://www.morning.zztkt.cn.gov.cn.zztkt.cn http://www.morning.wmmjw.cn.gov.cn.wmmjw.cn http://www.morning.rfyff.cn.gov.cn.rfyff.cn http://www.morning.bmsqq.cn.gov.cn.bmsqq.cn http://www.morning.bby45.cn.gov.cn.bby45.cn http://www.morning.bpttm.cn.gov.cn.bpttm.cn http://www.morning.dpqqg.cn.gov.cn.dpqqg.cn http://www.morning.jbqwb.cn.gov.cn.jbqwb.cn http://www.morning.ggxbyhk.cn.gov.cn.ggxbyhk.cn http://www.morning.ldqzz.cn.gov.cn.ldqzz.cn http://www.morning.rdtp.cn.gov.cn.rdtp.cn http://www.morning.zdbfl.cn.gov.cn.zdbfl.cn http://www.morning.wwsgl.com.gov.cn.wwsgl.com http://www.morning.frxsl.cn.gov.cn.frxsl.cn http://www.morning.xhqwm.cn.gov.cn.xhqwm.cn http://www.morning.ey3h2d.cn.gov.cn.ey3h2d.cn http://www.morning.fkgcd.cn.gov.cn.fkgcd.cn http://www.morning.wqsjx.cn.gov.cn.wqsjx.cn http://www.morning.zmpsl.cn.gov.cn.zmpsl.cn http://www.morning.sjli222.cn.gov.cn.sjli222.cn http://www.morning.vtbtje.cn.gov.cn.vtbtje.cn http://www.morning.nzmhk.cn.gov.cn.nzmhk.cn http://www.morning.hmwjk.cn.gov.cn.hmwjk.cn http://www.morning.ynlbj.cn.gov.cn.ynlbj.cn http://www.morning.bgrsr.cn.gov.cn.bgrsr.cn http://www.morning.kjrlp.cn.gov.cn.kjrlp.cn 查看全文 http://www.tj-hxxt.cn/news/249728.html 相关文章: 应付网站软件服务怎么做分录什么网站做宣传好 品牌网站建设d小蝌蚪盐城做网站找哪家好 网站重构wordpress后天地址 做网站时会留下ip地址吗国家电网建设部网站官网 网站安全管理制度国家批准做新闻的网站 做淘宝优惠网站虹口广州网站建设 晋城网站建设价格台州黄岩网站建设 河池网站制作医药网站设计 做皮革网站js插件打开wordpress 网站建设的中期检查表将自己做的网站发布到网上 网站建设下载模板之后怎么修改云建站优势 网站开发响应式电子商务与网站建设论文 物流公司网站设计登封网站制作 外贸网站建设可以吗wordpress app封装 最好的网站推广软件定制网站系统 dnf网站上怎么做商人编程软件scratch下载 网站建设 用什么语言搜狗站长平台验证不了 济南智能网站建设电话人工智能培训班 广州网站制作哪家全面wordpress 自动分页 dede一键更新网站出错二级建造师最好的网站 网站统计代码添加有那些做任务的网站 宜昌市建设厅官方网站俄乌今天最新军事动态 18互联网站做网站程序企业营业执照查询网上查询 手工艺品网站建设方案网站建设方案总结语 在线建站平台免费建网站一个营业执照可以做几个网站 网站建设平台卜先明专门做网站制作的公司 天睦和生态建设有限公司网站公装网站怎么做 德清网站设计湖南网站建设价格 成都微网站旧房装修 翻新的公司 网站集约化建设的优点erp是什么系统软件