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

连云港规划建设网站深圳招聘官网

连云港规划建设网站,深圳招聘官网,东莞市建设局质量监督网站,北京西路做网站的公司改文章写的很好#xff1a;https://zhuanlan.zhihu.com/p/342755411 Spring security 分为两个部分 登陆认证权限认证 登陆认证 其实就是就是登陆注册#xff0c;然后获取登陆凭证的问题 操作如下 登陆账号密码#xff0c;通过账号查询出用户数据#xff0c;然后密码进…改文章写的很好https://zhuanlan.zhihu.com/p/342755411 Spring security 分为两个部分 登陆认证权限认证 登陆认证 其实就是就是登陆注册然后获取登陆凭证的问题 操作如下 登陆账号密码通过账号查询出用户数据然后密码进行比对比对成功将用户信息插入 SecurityContextHolder 中 这就是过了登陆认证。也就是说 UsernamePasswordAuthenticationFilter 拦截器将不在拦截 AutoConfiguration // 需要配置权限认证的其实就只有这一段添加这个注解就OK了 // 就是这个 prePostEnabledtrue有了它就可以在方法上写注解来做权限验证 // 例如PreAuthorize(实例类.方法(参数)) // examplePreAuthorize(ss.hasPermission(true)) // 具体看下面的权限验证部分 EnableGlobalMethodSecurity(prePostEnabled true, securedEnabled true) public class YudaoWebSecurityConfigurerAdapter { ... 省略其他代码/*** 配置 URL 的安全配置* * 注意* 其实这里主要是设置是否需要登录的* 权限验证其实不在这个地方** anyRequest | 匹配所有请求路径* access | SpringEl表达式结果为true时可以访问* anonymous | 匿名可以访问* denyAll | 用户不能访问* fullyAuthenticated | 用户完全认证可以访问非remember-me下自动登录* hasAnyAuthority | 如果有参数参数表示权限则其中任何一个权限可以访问* hasAnyRole | 如果有参数参数表示角色则其中任何一个角色可以访问* hasAuthority | 如果有参数参数表示权限则其权限可以访问* hasIpAddress | 如果有参数参数表示IP地址如果用户IP和参数匹配则可以访问* hasRole | 如果有参数参数表示角色则其角色可以访问* permitAll | 用户可以任意访问* rememberMe | 允许通过remember-me登录的用户访问* authenticated | 用户登录后可访问*/Beanprotected SecurityFilterChain configure(HttpSecurity httpSecurity) throws Exception {// 设置每个请求的权限httpSecurity// ①全局共享规则.authorizeRequests()// permitAll 关键点 这里就是意思要不要登陆.antMatchers(securityProperties.getPermitAllUrls().toArray(new String[0])).permitAll()// ③兜底规则必须认证.anyRequest().authenticated();// 添加 JWT FilterhttpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);return httpSecurity.build();} ... 省略其他代码权限验证 AutoConfiguration EnableConfigurationProperties(SecurityProperties.class) public class YudaoSecurityAutoConfiguration {Resourceprivate SecurityProperties securityProperties;/*** Spring Security 加密器* 考虑到安全性这里采用 BCryptPasswordEncoder 加密器** see a hrefhttp://stackabuse.com/password-encoding-with-spring-security/Password Encoding with Spring Security/a*/Beanpublic PasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder();}/*** 认证失败处理类 Bean*/Beanpublic AuthenticationEntryPoint authenticationEntryPoint() {return new AuthenticationEntryPointImpl();}/*** 权限不够处理器 Bean*/Beanpublic AccessDeniedHandler accessDeniedHandler() {return new AccessDeniedHandlerImpl();}/*** Token 认证过滤器 Bean*/Beanpublic TokenAuthenticationFilter authenticationTokenFilter(GlobalExceptionHandler globalExceptionHandler) {return new TokenAuthenticationFilter(securityProperties, globalExceptionHandler);}Bean(ss) // 使用 Spring Security 的缩写方便使用public SecurityFrameworkService securityFrameworkService() {return new SecurityFrameworkServiceImpl();}}权限验证 上面配置已经开启了注解 PreAuthorize 来做权限验证 看懂这里就简单了。举例如下 例如PreAuthorize(“实例类.方法(‘参数’)”) examplePreAuthorize(“ss.hasPermission(‘true’)”) 这里实现就是 开启注解PreAuthorize做权限校验注入名称为 ss 的bean写入方法 hasPermission方法返回true权限校验通过false权限校验不通过 注入名称为 ss 的bean 如下 // 创建一个权限校验类 AllArgsConstructor public class SecurityFrameworkServiceImpl {Overridepublic boolean hasPermission(String permission) {return permission.equals(true);}Overridepublic boolean hasAnyPermissions(String... permissions) {return false;}Overridepublic boolean hasRole(String role) {return false;}Overridepublic boolean hasAnyRoles(String... roles) {return false;}Overridepublic boolean hasScope(String scope) {return false;}Overridepublic boolean hasAnyScopes(String... scope) {return false;} }// 实例化 权限校验类并注入spring容器中 Bean(ss) public SecurityFrameworkService securityFrameworkService() {return new SecurityFrameworkServiceImpl(); }到这里就结束了! PreAuthorize(“ss.hasPermission(‘true’)”) PreAuthorize 开启校验 调用ss实例类中的hasPermission方法 返回结果为true权限通过false权限不通过
http://www.dnsts.com.cn/news/194100.html

相关文章:

  • 提高网站的用户体验度怒江网站制作
  • 做网站需要美工吗wordpress修改社交标签
  • 天津网站建设如何海外cdn
  • 亚马逊网站建设特点哪些网站可以做淘宝基础销量
  • 网站推广营销怎么做wordpress 固定连接
  • 怎么做动漫照片下载网站萧山网页设计
  • 天津建设银行东丽网站aso优化师
  • 搞一个网站多少钱3合一网站怎么做
  • 百度收录网站入口桓台响应式网站建设
  • 光泽县规划建设局网站霞山网站开发公司
  • 哈尔滨seo整站优化remix做歌网站
  • 网站开发亿码酷流量怎么做钓鱼网站吗
  • 哪个网站可以做图片网站安全狗 fastcgi
  • 吉林网站建设企业精准营销英文
  • 2018网站建设合同范本空壳公司一年的费用
  • 爱站小工具圣经react做的电商网站能上线吗
  • 网站如何备案 流程wordpress 文件全文检索
  • 印刷 技术支持 东莞网站建设汕头达濠
  • 网站的信息容量网站下载
  • c语言做网站账号登录系统计算机专业培训机构排名
  • 怎么制作自己的网站中国建设银行大沥网站
  • 买邮箱的网站wordpress怎么适应手机
  • flash如何做网站wordpress 图灵机器人
  • 网站整体排名大幅下降长沙网站制作哪家强
  • 响应式网站建设必推全网天下网站建设如何找客户
  • wordpress 图文混排seo企业网络推广培训
  • 起重机网站怎么做wordpress图片上传失败
  • 网站开发逻辑图有没有教做帽子的网站
  • 新奇网站建设小型门户网站有哪些
  • 罗村网站制作公司ppt设计网站