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

网站代码500中国电子商务网站

网站代码500,中国电子商务网站,百度网址大全首页链接,福州网站设计培训在Spring Boot框架中集成 Spring Security 目录 技术介绍SpringSecurity的核心功能#xff1a;SpringSecurity特点#xff1a;具体实现 1、集成依赖2、修改spring security实现service.impl.UserDetailsServiceImpl类 代码1具体解释代码2具体解释 实现config.SecurityConfi…在Spring Boot框架中集成 Spring Security 目录 技术介绍SpringSecurity的核心功能SpringSecurity特点具体实现 1、集成依赖2、修改spring security实现service.impl.UserDetailsServiceImpl类 代码1具体解释代码2具体解释 实现config.SecurityConfig类 代码具体解释 总结 技术介绍 Spring Security是一个基于Spring框架的安全性框架它提供了一系列的安全性服务包括认证、授权、攻击防护等等。Spring Boot是一个快速开发应用程序的框架它提供了很多开箱即用的功能和约定使得构建一个Spring应用程序变得更加简单。将Spring Security集成进Spring Boot应用程序中可以为应用程序提供基于角色的访问控制、用户身份验证等安全性的功能。 SpringSecurity的核心功能 用户认证Authentication系统判断用户是否能登录 用户授权Authorization系统判断用户是否有权限去做某些事情 SpringSecurity特点 Spring 技术栈的组成部分与Spring 无缝整合。全面的权限控制能提供完整可扩展的认证和授权支持保护专门为 Web 开发而设计。重量级需要引入各种家族组件与依赖 具体实现 1、集成依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-security/artifactIdversion2.7.1/version/dependency2、修改spring security 为了实现与数据库对接让用户能正常登录授权我们需要实现一些配置类 实现service.impl.UserDetailsServiceImpl类 继承自UserDetailsService接口用来接入数据库信息 Service public class UserDetailsServiceImpl implements UserDetailsService {Autowiredprivate UserMapper userMapper;Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {QueryWrapperUser queryWrapper new QueryWrapper();queryWrapper.eq(username, username);User user userMapper.selectOne(queryWrapper);if (user null) {throw new RuntimeException(用户不存在);}return new UserDetailsImpl(user);} } 代码1具体解释 这段代码是一个实现了Spring Security中UserDetailsService接口的服务类用于从数据库中获取用户信息并返回一个UserDetails对象。具体解释如下 Service注解表示这是一个Spring的服务类用于处理业务逻辑。实现UserDetailsService接口并覆盖其中的loadUserByUsername()方法。该方法的参数是用户的用户名方法的返回值是一个UserDetails对象。在这个方法中我们可以根据用户名查找数据库中的用户信息然后将其封装成一个UserDetailsImpl对象返回。在该类中注入了一个UserMapper对象用于访问数据库。UserMapper是一个MyBatis的Mapper接口它定义了一些操作数据库的方法。在loadUserByUsername()方法中我们使用了MyBatis-Plus提供的QueryWrapper对象来构造查询条件查询指定用户名的用户信息。如果查询结果为null说明该用户不存在我们抛出一个RuntimeException异常。如果查询结果不为null则将查询到的用户信息封装成一个UserDetailsImpl对象返回。UserDetailsImpl是一个实现了UserDetails接口的类它将数据库中的用户信息封装起来以便于Spring Security进行认证和授权。 Data NoArgsConstructor AllArgsConstructor public class UserDetailsImpl implements UserDetails {private User user;Overridepublic Collection? extends GrantedAuthority getAuthorities() {return null;}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;} } 代码2具体解释 这段代码是一个实现了UserDetails接口的类用于封装用户的详细信息。具体解释如下 Data、NoArgsConstructor和AllArgsConstructor注解是Lombok注解用于自动生成getter和setter方法以及无参构造函数和全参构造函数。UserDetailsImpl类实现了UserDetails接口并实现了其中的方法。UserDetails是Spring Security中的一个接口用于封装用户的详细信息如用户名、密码、角色等信息。在该类中定义了一个User类型的成员变量user用于保存从数据库中查询到的用户信息。覆盖了getAuthorities()方法该方法返回用户的权限信息。在这里我们暂时返回null表示用户没有任何权限。覆盖了getPassword()方法该方法返回用户的密码。覆盖了getUsername()方法该方法返回用户的用户名。覆盖了isAccountNonExpired()方法该方法返回一个boolean值表示用户的账号是否过期。在这里我们返回true表示账号没有过期。覆盖了isAccountNonLocked()方法该方法返回一个boolean值表示用户的账号是否被锁定。在这里我们返回true表示账号没有被锁定。覆盖了isCredentialsNonExpired()方法该方法返回一个boolean值表示用户的凭证如密码是否过期。在这里我们返回true表示凭证没有过期。覆盖了isEnabled()方法该方法返回一个boolean值表示用户是否可用。在这里我们返回true表示用户可用。 总的来说这个类的作用是将数据库中的用户信息封装成一个UserDetails对象以便于Spring Security进行身份认证和权限控制。在实际的应用中我们需要在getAuthorities()方法中返回用户的权限信息并在其他方法中根据需要返回相应的值。 实现config.SecurityConfig类 用来实现用户密码的加密存储 Configuration EnableWebSecurity public class SecurityConfig {Beanpublic PasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder();} }代码具体解释 这段代码是一个Spring Security配置类用于配置密码加密器。 具体解释如下 Configuration注解表示这是一个Spring配置类。EnableWebSecurity注解表示启用Spring Security的Web安全功能。在该类中定义了一个名为passwordEncoder()的Bean并返回一个BCryptPasswordEncoder对象。这个Bean用于对密码进行加密和解密操作。BCryptPasswordEncoder是一种密码加密器它使用bcrypt算法对密码进行哈希加密。哈希加密是一种单向加密方式它将原始的密码字符串转换成一个不可逆的哈希值从而保证密码的安全性。 在实际的应用程序中我们通常会在用户注册或修改密码时使用密码加密器对用户的密码进行加密操作并将加密后的密码存储在数据库中。在用户登录时我们需要对用户输入的密码进行加密并与数据库中存储的密码进行比对。如果两者一致则说明用户输入的密码正确允许用户登录。而如果不一致则说明密码错误拒绝用户登录。 因此密码加密器是Spring Security中非常重要的一部分它可以提高应用程序的安全性保护用户的隐私信息。 总结 在Web应用程序中安全是一个非常重要的问题Spring Security是一个强大的安全框架可以帮助我们实现Web应用程序的安全性。在使用Spring Security时我们需要进行以下几个步骤 配置用户认证 用户认证是Spring Security的核心功能之一。在认证过程中Spring Security会使用用户提供的凭证如用户名和密码与应用程序中存储的凭证进行比对以确定用户的身份是否合法。在认证过程中我们需要配置用户信息存储方式、密码加密方式等信息。 配置授权 在Web应用程序中不同的用户可能需要访问不同的资源和功能。因此我们需要配置授权以确定哪些用户可以访问哪些资源和功能。在Spring Security中可以使用角色或权限来进行授权管理。 配置安全策略 在Web应用程序中除了用户认证和授权之外我们还需要考虑其他方面的安全问题例如防止跨站点脚本攻击XSS、防止跨站点请求伪造CSRF等。在Spring Security中可以使用安全策略来解决这些问题。 配置密码加密器 在Web应用程序中密码是一项非常重要的信息。为了保护用户的密码我们需要使用密码加密器对密码进行加密操作。在Spring Security中可以使用各种密码加密器来对密码进行加密和解密。 总的来说Spring Security是一个非常强大的安全框架可以帮助我们实现Web应用程序的安全性。在使用Spring Security时我们需要考虑到应用程序的实际需求进行相应的配置和调整。同时我们也需要保持对最新的安全问题和解决方案的关注及时更新应用程序的安全策略。
http://www.hkea.cn/news/14491372/

相关文章:

  • 做网站购买虚拟主机送模板吗wordpress小工具跟随
  • 贵阳企业建站系统模板wordpress 对话
  • 如何打开网站根目录小程序商城系统
  • 安徽建设厅网站证件查询中建集团官网
  • 音乐网站建设教程视频手机交互设计网站
  • 资源下载网站建设网站文字源码
  • 南宁网站设计推广安徽省住房和城乡建设厅官方网站
  • 免费网站seo诊断手机网站 微信网站
  • 一个网站怎么做新闻模块外包制作app
  • 威海网站制作团队有发展的小企业网站建设
  • 个旧网站建设开发公司合作协议
  • ipad 设计网站局域网小网站网站建设软件
  • 菏泽网站建设信息wordpress表单微信
  • 番禺网站建设哪个好福州网站建设哪家好
  • 企业网站的页面布局php网站开发文档
  • ip会变怎么做网站软件开发是什么行业
  • 查询海外whois的网站做配音的网站
  • 百度网站建设的十一个网站建设5iec
  • 灰色网站如何推广html5制作软件
  • 长沙网站设计服务南宁企业免费建站
  • 聊城做网站的公司教程wordpress链接的图片保存到本地
  • 做网站的怎么跑业务汉中专业网站建设价格
  • 淄博建企业网站最新做做网站免费
  • 外贸 国外推广网站千川推广官网
  • 3免费做网站模板企业快速建站
  • 网上学设计哪个网站好个人工作室网站设计
  • flash中文网站模板网站开发人员必备技能
  • 如何建立收费网站工业互联网平台首先要提高数据的挖掘能力
  • 网站建设与seo优化的公司济南网站建设和维护
  • 网站被盗用阳泉市住房保障和城乡建设管理局网站