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

网站建设与管理的考试wordpress 水煮鱼

网站建设与管理的考试,wordpress 水煮鱼,设计师接私单网站,wordpress 移动站插件用 Spring Security 实现后台登录及权限认证功能 1.引入依赖2.创建权限开放的页面3.创建需要权限验证的页面4.配置 Spring Security4.1 配置 Spring MVC4.2 配置 Spring Security 5.创建登录页面6.测试权限 1.引入依赖 使用前需要引入相关依赖#xff0c;见以下代码#xff… 用 Spring Security 实现后台登录及权限认证功能 1.引入依赖2.创建权限开放的页面3.创建需要权限验证的页面4.配置 Spring Security4.1 配置 Spring MVC4.2 配置 Spring Security 5.创建登录页面6.测试权限 1.引入依赖 使用前需要引入相关依赖见以下代码 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-security/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-thymeleaf/artifactId/dependencydependencygroupIdorg.thymeleaf.extras/groupIdartifactIdthymeleaf-extras-springsecurity5/artifactId/dependency /dependencies2.创建权限开放的页面 这个页面welcome.html是不需要鉴权即可访问的以区别演示需要鉴权的页面见以下代码 !DOCTYPE html html langen xmlns:thhttp://www.thymeleaf.orgxmlns:sechttp://www.thymeleaf.org/thymeleaf-extras-springsecurity5headtitleSpring Security 案例/title/headbodyh1Welcome!/h1pa th:href{/home}会员中心/a/p/body /html3.创建需要权限验证的页面 其实可以和不需要鉴权的页面一样鉴权可以不在 HTML 页面中进行见以下代码 !DOCTYPE html html langen xmlns:thhttp://www.thymeleaf.orgxmlns:sechttp://www.thymeleaf.org/thymeleaf-extras-springsecurity5headtitlehome/title/headbodyp会员中心/pp th:inlinetextHello span sec:authenticationname/span/pform th:action{/logout} methodpostinput typesubmit value登出//form/body /html使用 Spring Security 5 之后可以在模板中用 span sec:authenticationname/span 或 [[${#httpServletRequest.remoteUser}]] 来获取用户名。登岀请求将被发送到 /logout。成功注销后会将用户重定向到 /login?logout。 4.配置 Spring Security 4.1 配置 Spring MVC 可以继承 WebMvcConfigurer具体使用见以下代码 package com.example.demo.config;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;Configuration public class WebMvcConfig implements WebMvcConfigurer {Overridepublic void addViewControllers(ViewControllerRegistry registry) {//设置登录处理操作registry.addViewController(/home).setViewName(springsecurity/home);registry.addViewController(/).setViewName(springsecurity/welcome);registry.addViewController(/login).setViewName(springsecurity/login);} }4.2 配置 Spring Security Spring Security 的安全配置需要继承 WebSecurityConfigurerAdapter然后重写其方法 见以下代码 package com.example.demo.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;Configuration // 指定为 Spring Security 配置类 EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter {Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers(/, /welcome, /login).permitAll().anyRequest().authenticated().and().formLogin().loginPage(/login).defaultSuccessUrl(/home).and().logout().permitAll();}Autowiredpublic void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {auth.inMemoryAuthentication().passwordEncoder(new BCryptPasswordEncoder()).withUser(admin).password($2a$10$AlpMTGDkUfYJMnb3/uNT1.mLxLJng7Uplfzpv5yIqZTkYtYsiiYbO).roles(USER);} }EnableWebSecurity 注解集成了 Spring Security 的 Web 安全支持。WebSecurityConfig在配置类的同时集成了 WebSecurityConfigurerAdapter重写了其中的特定方法用于自定义 Spring Security 配置。Spring Security 的工作量都集中在该配置类。configure(HttpSecurity)定义了哪些 URL 路径应该被拦截。configureGlobaI(AuthenticationManagerBuiIder)在内存中配置一个用户admin / pipi这个用户拥有 User 角色。确保 antMatchers(xxx).permitAll() 的配置在需要认证和授权的 URL 路径之前。因为 Spring Security 会按照配置文件的顺序来匹配 URL 路径如果 antMatchers(xxx).permitAll() 在后面那么前面的认证和授权规则会覆盖掉它。.logout().permitAll() 表示在 Spring Security 配置中‌无论用户是否经过身份验证‌都可以访问注销‌logout‌页面。‌这意味着‌即使是一个未经过身份验证的用户也可以访问注销功能‌这在某些情况下可能是一个安全隐患。‌因此‌这个配置通常用于开发环境或测试环境‌以确保用户可以轻松地测试注销功能‌而在生产环境中‌出于安全考虑‌通常会更加限制对注销页面的访问权限。‌ 5.创建登录页面 登录页面要特别注意是否开启了 CSRF 功能。如果开启了则需要提交 token 信息。创建的登录页面见以下代码 !DOCTYPE html html langen xmlns:thhttp://www.thymeleaf.orgxmlns:sechttp://www.thymeleaf.org/thymeleaf-extras-springsecurity5headtitleSpring Security Example /title/headbodydiv th:if${param.error}无效的用户名或者密码/divdiv th:if${param.logout}你已经登出/divform th:action{/login} methodpostdivlabel 用户名: input typetext nameusername/ /label/divdivlabel 密码: input typepassword namepassword/ /label/divdivinput typesubmit value登录//div/form/body /html6.测试权限 启动项目访问首页 http://localhost:8080。 单击 “会员中心”尝试访问受限的页面 http://localhost:8080/home。由于未登录结果被强制跳转到登录页面 http://localhost:8080/login。 输入正确的用户名和密码 (admin, pipi) 之后跳转到之前想要访问的 /home 显示用户名 admin。 单击 “登出” 按钮回到登录页面。
http://www.dnsts.com.cn/news/73201.html

相关文章:

  • 网站备案成功后怎么建设链接提交工具
  • 北京网站建设签约网上商城 网站
  • 网站建设与开发试题与答案毛衣品 东莞网站建设
  • 网站建设参考文献外文时尚大气网站设计
  • 青岛做网站找什么公司天元建设集团有限公司商票拒付
  • 那个网站百度收录好在上海做网站
  • 手机网站 ui网站运营实例
  • 手把手教你入侵网站修改数据ASP做旅游网站代码
  • 黄冈网站建设收费app开发公司怎么学东西
  • 网站做多少屏合适wordpress上传附件类型
  • 手机网站建设开什么类型的票ppt网站
  • 北京发生大事了做推广优化的网站有哪些内容
  • 长春网站快速优化排名一站式网站手机端怎么做
  • php网站如何上传数据库广告艺术设计主要学什么
  • 商丘做微信网站sqwyy高清视频上传wordpress
  • 做网站卖产品要注册公司吗沙田镇仿做网站
  • 网站主页的布局方式wordpress文字字幕
  • 设计师自己的网站那个网站做足球测
  • 做网站的职业凡科建站步骤
  • wordpress+整站下载北京网站推广怎么做
  • 网站建设教程视频百度云建设网站图片高清
  • 东莞网站开发哪里找什么是网站维护中
  • 网站登录系统源码ipsw 是谁做的网站
  • 台州专业网站设计系统周口网站建设多少钱
  • 个人网站建设教程经典网页设计欣赏
  • 广东制冷设备网站建设费用川畅咨询 做网站多少钱
  • 网站后台修改导航栏做网站累吗
  • 如何用七牛云做视频网站做网站用jquery
  • 天河区门户网站招生考试化妆品网站下载
  • 移动端高端网站网站开发的技术指标