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

做的比较好的p2p网站wordpress内容主题模板下载

做的比较好的p2p网站,wordpress内容主题模板下载,阿里巴巴网站建设教程视频,承德很好的网络建站spring boot(学习笔记第十四课) Spring Security的密码加密#xff0c;基于数据库认证 学习内容#xff1a; Spring Security的密码加密基于数据库认证 1. Spring Security的密码加密 如果用户的密码保存在数据库中是以明文保存#xff0c;对于公司的安全将是灾难性的基于数据库认证 学习内容 Spring Security的密码加密基于数据库认证 1. Spring Security的密码加密 如果用户的密码保存在数据库中是以明文保存对于公司的安全将是灾难性的哪个公司也不会允许用户数据使用明文保存。这里练习使用加密之后的密码进行认证。 注意这样公司的数据库里面是没有用户的明文密码即使数据库泄露也不会暴漏用户的明文密码实现密码加密 配置passwordEncoderBean PasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder(10); }手动根据明文密码生成密文密码 bcrypt转换工具 注意每次生成的密码都不一样但是每个生成的都好用 使用生成的密文进行用户的创建。 BeanUserDetailsService userDetailsService() {InMemoryUserDetailsManager users new InMemoryUserDetailsManager();users.createUser(User.withUsername(finlay_user).password($2a$10$uwwZ5EyWbFnnw3JG53rqQ.VJUm/.Pl9Ko1CUP5Aqc2kuBr2Bx7bc.).roles(USER).build());再次进行认证。 2. 基于数据库认证 以上练习了基于内存的认证实际上正式的系统开发都是使用数据库进行认证在这里练习使用使用数据库的用户数据进行认证。这里使用postgresql。 首先创建数据库需要的表 创建USER表CREATE TABLE USER( id int, username varchar(32), password varchar(255), enabled int, locked int, PRIMARY KEY(id) );创建ROLE表CREATE TABLE ROLE( id int, name varchar(32), nameZh varchar(255), PRIMARY KEY(id) );创建USER_ROLE表(user和role的关系表)CREATE TABLE USER_ROLE( id int, uid int, rid int, PRIMARY KEY(id) );用户数据如下 USER表 ROLE表 USER_ROLE表 USER和ROLE的关系 with uur as ( select* fromUSER u inner join USER_ROLE ur on u.id ur.uid)select username,namezh,name as rolename from uur inner join ROLE r on uur.rid r.id引入必要的依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-security/artifactId/dependencydependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion3.0.3/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdscopeprovided/scope/dependencydependencygroupIdorg.postgresql/groupIdartifactIdpostgresql/artifactIdscoperuntime/scope/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.2.9/version/dependency这里repository使用mybatis所以引入mybatis的依赖包。在application.properties定义数据库连接信息。spring.datasource.typecom.alibaba.druid.pool.DruidDataSource spring.datasource.urljdbc:postgresql://127.0.0.1:5432/springboot spring.datasource.usernamefinlay spring.datasource.password123456定义mybatis的interface以及xml文件 定义User和Role的实体类Data public class Role {private Integer id;private String name;private String nameZh; }Data public class User implements UserDetails {private Integer id;private String username;private String password;private Boolean enabled;private Boolean locked;private ListRole roles;Overridepublic Collection? extends GrantedAuthority getAuthorities() {ListSimpleGrantedAuthority authorities new ArrayList();for (Role role : roles) {authorities.add(new SimpleGrantedAuthority(role.getName()));}return authorities;}Overridepublic String getPassword() {return this.password;}Overridepublic String getUsername() {return this.username;}Overridepublic boolean isAccountNonExpired() {return true;}Overridepublic boolean isAccountNonLocked() {return !this.locked;}Overridepublic boolean isCredentialsNonExpired(){return true;}Overridepublic boolean isEnabled(){return this.enabled;} }配置mybatisMapper public interface UserMapper {User loadUserByUserName(String usernam);ListRole getUserRolesByUid(Integer id); }配置mybatis的xml配置文件!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.example.demo.repository.mybatis.UserMapperselect idloadUserByUserName resultTypecom.example.demo.authentication.Userselect * from USER where username#{username}/selectselect idgetUserRolesByUid resultTypecom.example.demo.authentication.Roleselect * from ROLE r, USER_ROLE ur where r.idur.rid and ur.uid#{id}/select /mapper定义UserDetailsServiceService public class UserService implements UserDetailsService {Autowiredpublic UserMapper userMapper;Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {User user userMapper.loadUserByUserName(username);if (user null) {throw new UsernameNotFoundException(username is not found);}user.setRoles(userMapper.getUserRolesByUid(user.getId()));return user;} }注意这里生成了UserDetailsService的bean所以spring boot security的的认证处理都会使用这个bean整体的架构 测试认证结果
http://www.hkea.cn/news/14498241/

相关文章:

  • 瓷砖网站源码怎么制作网页教程
  • 网站的配置标题如何确定竞争对手网站
  • 如何知道网站有没有备案陈仓网站建设
  • 自己做网站,为什么出现403做电脑端网站手机端能搜到吗
  • 网站排名带照片怎么做网站的功能定位
  • 电子商务网站建设作品网站开发方式有
  • 做网站dw怎么用吉安网站建设343000
  • 衡阳网站优化教程紫搜做网站
  • php免费网站系统wordpress云服务器安装教程
  • 网站制作现状解决方案三点水网站建设
  • 做网站搭建环境wordpress 怎么使用
  • 怎样做网站怎要加服务器做个卖车票的网站怎么做
  • 东昌府区建设局网站南漳网站开发
  • 商城型网站怎么做优化徐汇品牌网站建设
  • php做网站架构图产品艺术设计专业
  • 明珠信息港网站建设专家集团网站建设哪家更好
  • 成都易站网站建设做学校网站的济南公司
  • 自己做网站的难度火车头wordpress教程
  • 那个网站可以免费建站单位建网站的优势
  • 做婚恋网站的思路平台优化是指什么
  • 开先建设集团网站建筑兼职网站
  • ih5做自适应网站画册设计网站
  • 镇巴作风建设网站wordpress 分类排行榜
  • 深圳做装修网站费用多少推广服务商
  • 微信 网站界面 模板网站建设制作费用
  • 二手书网站的建设规模广州市品牌网站建设服务机构
  • 做视频网站要多大的服务器温州高端模板建站
  • 湖南网站设计外包哪家好影视小程序搭建教程
  • 多站点网站群的建设与管理系统龙华企业网站建设
  • 沃航科技网站开发医院网站素材