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

山东专业网站解决方案制作建设厅五大员证书查询网站

山东专业网站解决方案制作,建设厅五大员证书查询网站,一个域名可以绑定几个网站吗,网站推广策划案在上一篇文章中#xff0c;我们使用了用户详细信息服务#xff0c;以便提供一种基于给定用户名从函数加载数据的方法。 用户详细信息的实现可能由内存机制#xff0c;sql / no-sql数据库等支持。 选项是无限的。 关于密码存储#xff0c;我们必须注意的是密码哈希。 出… 在上一篇文章中我们使用了用户详细信息服务以便提供一种基于给定用户名从函数加载数据的方法。 用户详细信息的实现可能由内存机制sql / no-sql数据库等支持。 选项是无限的。 关于密码存储我们必须注意的是密码哈希。 出于安全原因我们希望以散列形式存储密码。 假设有人未经授权访问了存储我们用户数据的表。 通过存储密码明文用户可以检索系统中每个用户的密码。 因此我们需要一种在将密码存储到数据库之前对密码进行哈希处理的方法。 始终注意您的哈希必须健壮并且是最新的。 例如MD5在过去非常流行但如今导致安全性差。 实际上如果使用gpu可以很容易地破解MD5密码。 当涉及到密码编码时Spring Security为我们提供了开箱即用的功能。 密码编码器是在授权过程中使用的接口。 package org.springframework.security.crypto.password;public interface PasswordEncoder {String encode(CharSequence rawPassword);boolean matches(CharSequence rawPassword, String encodedPassword);} 编码功能将用于编码您的密码而matches功能将检查您的原始密码是否与编码后的密码匹配。 一旦您的用户详细信息服务从数据库中获取了用户信息然后将使用从数据库中获取的密码来验证提供给授权的密码。 在这种情况下spring将使用matchs函数。 现在spring为我们提供了密码编码器的各种实现。 让我们尝试创建一个密码编码器bean。 package com.gkatzioura.security.passwordencoder.security;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.crypto.password.PasswordEncoder;Configuration public class PasswordEncoderConfig {Beanpublic PasswordEncoder passwordEncoder() {return new PasswordEncoder() {Overridepublic String encode(CharSequence rawPassword) {return rawPassword.toString();}Overridepublic boolean matches(CharSequence rawPassword, String encodedPassword) {return rawPassword.toString().equals(encodedPassword);}};} } 该bean与Spring Boot附带的NoOpPasswordEncoder没什么不同。 不我们将做一个小实验并添加一个自定义密码编码器。 我们的密码编码器会将用户提交的明文密码进行哈希处理然后将其与数据库中等效用户已哈希的密码进行比较。 为了进行哈希处理我们将使用bcrypt。 Beanpublic PasswordEncoder customPasswordEncoder() {return new PasswordEncoder() {Overridepublic String encode(CharSequence rawPassword) {return BCrypt.hashpw(rawPassword.toString(), BCrypt.gensalt(4));}Overridepublic boolean matches(CharSequence rawPassword, String encodedPassword) {return BCrypt.checkpw(rawPassword.toString(), encodedPassword);}};} 为了测试这一点我们将使用前面的文章中介绍的环境变量来设置安全性。 首先我们需要对密码进行编码。 我们的系统不会以任何明文形式存储密码。 System.out.println(BCrypt.hashpw(user-password,BCrypt.gensalt(4))); $2a$04$i4UWtMw6surai4dQMhoKSeLddi1XlAh2sSyG58K3ZvBHqVkhz8Y3y 因此我们下一步要做的是在运行Spring Boot应用程序之前设置环境变量。 SPRING_SECURITY_USER_NAMEtest-user SPRING_SECURITY_USER_PASSWORD$2a$04$i4UWtMw6surai4dQMhoKSeLddi1XlAh2sSyG58K3ZvBHqVkhz8Y3y 下一步是转到登录屏幕并为凭据提供用户名和用户密码。 如您所见您刚刚通过了身份验证。 在后台spring散列了您提交的密码并将其与通过环境变量存在的密码进行了比较。 翻译自: https://www.javacodegeeks.com/2018/06/security-spring-boot-password-encoder.html
http://wiki.neutronadmin.com/news/25407/

相关文章:

  • 网站优化怎样提高网站用户体验有了域名空间怎么做网站
  • 舆情网站入口做网站的要到处跑吗
  • 做网站最快多久密云建设银行招聘网站
  • 泉州自助建站软件php与mysql网站开发全接触
  • 极乐宝盒网站建设铁岭 网站建设
  • 网站建设销售策划方案网页建设推荐
  • 深圳网站建设(龙华信科)赣州网站建设方案
  • 网站建设项目需求说明旅游公司网站建设策划书
  • 网站对公司的意义建筑工程承包方式
  • 做网络作家哪个网站好网站建设自查工作
  • 阿克苏网站建设优化江门文件推广设计
  • 苏州seo推广优化seo 网站排名
  • 西南大学校园网站建设往年考试卷最好的网站模板
  • 万网主机怎么上传网站吗大型车网站建设
  • 音乐网站制作教程中装建设董事长
  • 做网站前端和平面配合凡客做网站怎么样
  • 188建站系统源码国家最新政策解读
  • 网站制作公司排行榜前十名wordpress删除顶部
  • 在什么网站上做自媒体公司门户网站该怎么做
  • 贵州省住房和城乡建设部网站首页手机兼职在家挣钱的方法
  • wordpress进不来后台企业网站seo报价
  • 小网站如何做密码找回杭州网站搜索
  • 建设工程中标通知书查询网站免费jianzhan
  • 目前做网站框架兰州口碑营销
  • 中国建设部网站办事大厅长长沙网站制作
  • 小学的门户网站建设网站设计过程
  • div网站模板用thinkphp做的网站
  • 网站 数据报表如何做千年之恋网页制作代码
  • 做一套公司网站费用驻马店专业做网站公司
  • 安徽整站优化成都app开发公司排名