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

春考网站建设洛阳建设企业网站公司

春考网站建设,洛阳建设企业网站公司,珠海知业科技,建站公司兴田德润实惠一、背景知识 1、Spring Security 是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean#xff0c;充分利用了Spring IoC#xff0c;DI#xff08;IOC: 控制反转Inversion of Control ,DI:D…一、背景知识  1、Spring Security 是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean充分利用了Spring IoCDIIOC: 控制反转Inversion of Control ,DI:Dependency Injection 依赖注入和AOP面向切面编程功能为应用系统提供声明式的安全访问控制功能。减少了为企业系统安全控制编写大量重复代码的工作。 2、Spring表达式语言Spring Expression Language简称SpEL  是一种支持在Spring框架中进行表达式计算的语言。SpEL提供了一种在运行时计算表达式的能力这些表达式可以用于在Spring配置文件中进行属性的赋值、条件的判断、方法的调用等操作。SpEL可以用于注解、XML配置文件和Java代码中。SpEL支持一系列功能包括对对象属性的引用、方法调用、算术运算、逻辑运算、条件判断、正则表达式等。在Spring框架中SpEL通常用于在Bean定义或注解中进行复杂的配置、条件判断、动态计算属性值等操作。 下面是一个使用SpEL的示例 Value(#{systemProperties[java.home]}) private String javaHome;在这个示例中SpEL被用来注入系统属性java.home的值到javaHome变量中。 SpEL为Spring框架提供了更加灵活和强大的表达式计算能力使得开发人员可以更加方便地进行配置和业务逻辑的编写。 3、 CSRFCross-Site Request Forgery跨站请求伪造 是一种网络安全攻击它利用了用户在当前已登录的Web应用程序中的权限通过伪装成用户的请求来执行非授权的操作。攻击者可以通过各种方式诱使用户访问恶意网站或点击恶意链接从而在后台执行未经授权的操作例如修改用户资料、发送消息等。CSRF攻击通常利用了Web应用程序的安全漏洞其中最常见的是应用程序在处理用户请求时未能验证请求来源的有效性。攻击者可以通过构造恶意的请求并引诱用户执行来实施CSRF攻击。对于受害者来说他们可能并不知晓这些操作的发生因此对于Web应用程序来说防御CSRF攻击非常重要。为了防御CSRF攻击通常采用的策略包括使用CSRF令牌CSRF token来验证请求的来源、使用同源策略Same Origin Policy来限制跨站点请求、使用双重提交 cookie 策略等。在Web应用程序的设计和实现中针对CSRF攻击进行全面的防御是非常重要的一环。csrf验证的作用: 判断此请求是否是从本站发起,做静态的登录页面时,要把它关掉 4、使用HTML5来创建html文件还是用HTML4 建议您使用HTML5来创建index.html文件。HTML5是当前主流的HTML版本具有更多的新特性和功能包括语义化标签、音视频支持、canvas绘图、表单验证等等。同时HTML5也更符合现代Web开发的需求并且被各大浏览器广泛支持。 虽然HTML4仍然可以在现代浏览器中正常工作但HTML5提供了更多的优势和新特性因此建议您选择HTML5来创建index.html文件。 二、代码实例 1、代码结构  2、具体代码 PasswordEncoderExample 需要使用BCryptPasswordEncoder对密码进行加密然后将加密后的密码复制到配置文件中 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;/*** 使用BCrypt加密后的密码*/ public class PasswordEncoderExample {public static void main(String[] args) {//原密码String rawPassword123456;BCryptPasswordEncoder encoder new BCryptPasswordEncoder();//加密后的密码String encodedPassword encoder.encode(rawPassword);System.out.println(encodedPassword);} }控制台输出 spring-security.xml 在最新版本的Spring Security中密码编码器的配置变得更加严格以确保安全性。因此必须为密码配置正确的编码器否则会出现 There is no PasswordEncoder mapped for the id null 的异常。 ?xml version1.0 encodingUTF-8? beans:beansxmlns:beanshttp://www.springframework.org/schema/beansxmlnshttp://www.springframework.org/schema/securityxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/securityhttp://www.springframework.org/schema/security/spring-security.xsd!--以下页面不被拦截,该页面不受security的登录等限制--http pattern/login.html securitynone/http!--intercept-url: 表示拦截页面/*: 本级目录下的资源/**: 本级目录以及本级目录下所有子目录的资源form-login: 自动产生登录表单login-page: 指定登录页面default-target-url: 登录成功后跳转的页面authentication-failure-url: 登录失败后跳转的页面--!--页面拦截规则--http!--定义某资源只有拥有角色ROLE_USER的用户才可以访问--intercept-url pattern/* accesshasRole(ROLE_USER)/form-login login-page/login.html default-target-url/index.html/!--关闭csrf--!--csrf验证的作用: 判断此请求是否是从本站发起,做静态的登录页面时,要把它关掉--csrf disabledtrue/!--退出登录--logout//http!--认证管理器--authentication-managerauthentication-providerpassword-encoder refpasswordEncoder/user-service!--必须通过name和password的登录,才能获得ROLE_USER这个角色--user nameadmin password$2a$10$FYIRQkPI6sOj2wKssOCgGO0yBMnygEIjCYPNr5yHsWv5HtjMwtvO2 authoritiesROLE_USER//user-service/authentication-provider/authentication-manager!--密码编码器--beans:bean idpasswordEncoder classorg.springframework.security.crypto.bcrypt.BCryptPasswordEncoder/ /beans:beans web.xml ?xml version1.0 encodingUTF-8? web-app xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlnshttp://java.sun.com/xml/ns/javaeexsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsdversion2.5context-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:spring-security.xml/param-value/context-paramlistenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listenerfilterfilter-namespringSecurityFilterChain/filter-name!--过滤器代理,转发给springSecurityFilterChain--filter-classorg.springframework.web.filter.DelegatingFilterProxy/filter-class/filterfilter-mapping!--定义的过滤器映射名字要和上面定义的过滤器名字一致--filter-namespringSecurityFilterChain/filter-nameurl-pattern/*/url-pattern/filter-mapping !-- 通过配置filter和filter-mapping可以实现对请求进行预处理或后处理操作如身份验证、日志记录、编码转换等。-- /web-app index.html !DOCTYPE html html langen headmeta charsetUTF-8title首页/title /head body 欢迎!欢迎!欢迎! !--href: 插入了一个链接点击名为“退出”的链接后跳转到logout页面-- a href/logout退出/a /body /html login.html !DOCTYPE html html langen headmeta charsetUTF-8title登录页面/title /head bodyform action/login methodposttabletrtd用户名: /tdtdinput nameusername/td/trtrtd密码: /tdtdinput namepassword/td/trtrtdbutton登录/button/td/tr/table/form /body /html 运行结果 运行 默认登录页面  自定义登录页面 登录后访问的页面 退出后的页面
http://www.sadfv.cn/news/107537/

相关文章:

  • 北京城乡建设门户网站网站系统建设需要什么资质吗
  • 网站开发网站建设网站什么费用
  • 优秀网站建设公司html5网站强制横屏
  • 网站外链建设策略施工企业评价
  • 河北省城乡和建设厅网站河南建设教育协会网站
  • 哪个企业的网站做的比较好成都网站建设 小兵
  • 网站解决方案设计上海办公室设计装修公司
  • 仪征做网站aicjoy网站模版怎么样
  • 恒峰网站建设问题百度登录入口官网
  • 项目驱动式网页设计与制作教程湖南关键词优化快速
  • 用什么软件建网站最方便网站中信息更新怎么做的
  • 轴承 网站建设 企炬洛阳设计公司官网
  • 网站排版类型深圳网站建设51duoshi
  • 宁波网站建设设计图校园门户网站建设
  • 企业网站宣传建设网站建设简介联系方式
  • 企业网站建设进度北京自己怎么做网站
  • wordpress网站空白服务外包下的网站开发
  • saas网站建设网络营销的6大特点
  • 包装设计是什么北京网站优化校学费
  • 摄影手机网站模板电子商务物流网站建设
  • 高端定制网站设计桓台县旅游网站建设
  • 网站网页设计中怎么添加页码信息网络营销相关的资源网站
  • 做外贸最好的网站有哪些凡客建站网站下载
  • 泰州网站制作计划灵宝市建设局网站
  • xx网站建设策划方案wordpress转内链
  • 企业建网站哪家好怎样才能把网站做好
  • 工程建设国家标准网站网络架构方案规划设计和实施
  • 网站做seo必要的结构深圳专业极速网站建设
  • 有哪些做分析图用的网站深圳效果好的免费网站建设
  • 西安建筑网站建设wordpress电影资源