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

公司想做个网站应该怎么做led行业网站源码

公司想做个网站应该怎么做,led行业网站源码,网页编辑软件手机版,宿迁网站建设联系电话最近学习若依框架#xff0c;里面的权限注解涉及到了SpEL表达式 PreAuthorize(ss.hasPermi(system:user:list))#xff0c;若依项目中用的是自己写的方法进行权限处理#xff0c; 也可以只用security 来实现权限逻辑代码#xff0c;下面写如何用security 实现。…最近学习若依框架里面的权限注解涉及到了SpEL表达式 PreAuthorize(ss.hasPermi(system:user:list))若依项目中用的是自己写的方法进行权限处理 也可以只用security 来实现权限逻辑代码下面写如何用security 实现。 security中  PreAuthorize(hasPermission(Object target, Object permission))  的hasPermission方法是通过PermissionEvaluator实现默认继承类是DenyAllPermissionEvaluator所有方法返回false所以注解后的结果只有拒绝权限所以继承PermissionEvaluator重写hasPermission即可。 逻辑如下 1、securityConfig文件上加入注解EnableMethodSecurity且引入自定义评估器CustomPermissionEvaluator 2、编写CustomPermissionEvaluator文件 注security 6.2.1 中 EnableGlobalMethodSecurity 已弃用改使用 EnableMethodSecurity 且prePostEnabled为ture,只需添加注解EnableMethodSecurity 即可 package com.example.securityDemo.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler; import org.springframework.security.access.expression.method.MethodSecurityExpressionHandler; import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.provisioning.InMemoryUserDetailsManager; import org.springframework.security.web.SecurityFilterChain;/*** description: security配置类* author: mml* create: 2024/01/26*/ Configuration EnableWebSecurity EnableMethodSecurity public class SecurityConfig {// 引入自定义评估器Beanstatic MethodSecurityExpressionHandler methodSecurityExpressionHandler(CustomPermissionEvaluator permissionEvaluator) {DefaultMethodSecurityExpressionHandler handler new DefaultMethodSecurityExpressionHandler();handler.setPermissionEvaluator(permissionEvaluator);return handler;}BeanUserDetailsService userDetailsService(){UserDetails user User.withDefaultPasswordEncoder().username(mml).password(123).roles(USER).authorities(system:user:update,system:user:list).build();return new InMemoryUserDetailsManager(user);}/*** 是Spring Security 过滤器链Spring Security 中的所有功能都是通过这个链来提供的* date 2024/1/26*/BeanSecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception {// 拦截所有请求但是不经过任何过滤器 // return new DefaultSecurityFilterChain(new AntPathRequestMatcher(/**));httpSecurity.authorizeHttpRequests(p - p.anyRequest().authenticated()).csrf(c - c.disable()).formLogin((form) - form.loginPage(/login).permitAll());return httpSecurity.build();}}自定义评估器代码 import org.springframework.security.access.PermissionEvaluator; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; import org.springframework.stereotype.Component; import org.springframework.util.AntPathMatcher;import java.io.Serializable; import java.util.Collection;/*** description: 自定义权限评估器* author: mml* create: 2024/02/17*/ Component public class CustomPermissionEvaluator implements PermissionEvaluator {AntPathMatcher antPathMatcher new AntPathMatcher();Overridepublic boolean hasPermission(Authentication authentication, Object targetDomainObject, Object permission) {// 获取当前用户的角色Collection? extends GrantedAuthority authorities authentication.getAuthorities();for (GrantedAuthority authority : authorities) {// 权限判断if (antPathMatcher.match(authority.getAuthority(), (String) permission)){// 说明有权限return true;}}return false;}Overridepublic boolean hasPermission(Authentication authentication, Serializable targetId, String targetType, Object permission) {return false;} } 接口层 RestController public class UserController {RequestMapping(/list)PreAuthorize(hasPermission(/list,system:user:list))public String list() {return get list ;}RequestMapping(/add)PreAuthorize(hasPermission(/add,system:user:add))public String add() {return post add ;} } 可以使用postman测试 测试结果如下 list-有权限 add 方法-没有权限 security参考链接方法安全 Spring Security
http://www.hkea.cn/news/14423162/

相关文章:

  • 国外 设计网站wordpress怎样发布时间
  • 手表网站 欧米茄wordpress免签支付插件
  • 换ip对网站有影响吗网页设计简单作品代码
  • 南昌网站建设公司信息pc网站如何做移动适配
  • 重庆怎么制作网站?正规推广平台有哪些
  • 张家界建设网站wordpress mysql port
  • 温州网站建设方案报价做o2o网站需要多少钱
  • 郑州免费网站建设68网页设计欣赏
  • 网站开发完整项目平台网站开发国内最厉害的公关团队
  • 大丰做网站找哪家好wordpress 主题 轮播
  • 建设个网站需要什么wordpress 视频广告
  • 网站推广的电子邮件推广鄂尔多斯市建设网站
  • 网站设计怎么做图片透明度做动物网站的原因是
  • 如何做公司网站空间沈阳市建设工程项目管理中心
  • 夷陵区住房和城乡建设局网站数据营销系统
  • 网页设计代码模板人物介绍seo工具网站
  • 网站备案怎么找人备哈尔滨哪能买到黄页
  • 素质课网站设计与建设做网站用啥框架
  • 网站嵌入播放器国美电器网站建设的思路
  • 深圳市企业网站seo营销工具湖南营销型网站建设
  • 织梦网站后台管理做网站的工作好做吗
  • 哪些人做数据监测网站投票网站定制
  • 建设一个营销网站有哪些步骤谷歌地图网站代码
  • 庆阳网站设计费用wordpress导出表
  • 微盟网站模板如何做wordpress文章页
  • 有没人做阿里巴巴网站维护的辽宁省网站备案
  • 文创网站建设品牌网站建设方案ppt
  • 网站开发信息发布北京微信网站建设报价
  • 京东做代码的网站吗网站维护包括哪些内容
  • 阿里云网站空间做商城流程wordpress 连接丢失.保存已被禁用_直到您重新连接.