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

个人网站怎么做推广seo网站关键词排名提升

个人网站怎么做推广,seo网站关键词排名提升,如何建设小网站,湖州网站设计项目代码 gson/spring-security-demo 简介 Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 一般来说中大型的项目都是使用SpringSecurity来做安全框架。小项目有Shiro的比较多,因为相比…

项目代码

gson/spring-security-demo


简介

Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。

一般来说中大型的项目都是使用SpringSecurity来做安全框架。小项目有Shiro的比较多,因为相比与SpringSecurity,Shiro的上手更加的简单。

一般Web应用的需要进行认证授权

认证:验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户

授权:经过认证后判断当前用户是否有权限进行某个操作

而认证和授权也是SpringSecurity作为安全框架的核心功能。


搭建基础项目

1、我们先搭建一个简单的SpringBoot工程,并添加相关依赖

 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.0</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency></dependencies>

2、创建启动类

@SpringBootApplication
public class SecurityApplication {public static void main(String[] args) {SpringApplication.run(SecurityApplication.class,args);}
}

3、创建Controller

@RestController
@RequestMapping("/book")
public class BookController {@GetMapping("/list")public String list() {return "book-list";}}

4、创建配置文件application.yml

server:port: 8000

然后启动项目,输入地址进行访问测试


引入SpringSecurity

在SpringBoot项目中使用SpringSecurity我们只需要引入依赖即可实现入门案例。

       <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>

引入依赖后我们在尝试去访问之前的接口就会自动跳转到一个SpringSecurity的默认登陆页面,默认用户名是user,密码会输出在控制台。

必须登陆之后才能对接口进行访问。


认证

登陆校验流程

SpringSecurity完整流程

SpringSecurity的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器。这里我们可以看看入门案例中的过滤器。

图中只展示了核心过滤器,其它的非核心过滤器并没有在图中展示。

UsernamePasswordAuthenticationFilter:负责处理我们在登陆页面填写了用户名密码后的登陆请求。入门案例的认证工作主要有它负责。

ExceptionTranslationFilter:处理过滤器链中抛出的任何AccessDeniedException和AuthenticationException 。

FilterSecurityInterceptor:负责权限校验的过滤器。

我们可以通过Debug查看当前系统中SpringSecurity过滤器链中有哪些过滤器及它们的顺序。

认证流程详解

概念速查:

  • Authentication接口: 它的实现类,表示当前访问系统的用户,封装了用户相关信息。
  • AuthenticationManager接口:定义了认证Authentication的方法
  • UserDetailsService接口:加载用户特定数据的核心接口。里面定义了一个根据用户名查询用户信息的方法。
  • UserDetails接口:提供核心用户信息。通过UserDetailsService根据用户名获取处理的用户信息要封装成UserDetails对象返回。然后将这些信息封装到Authentication对象中。

登录过程分析

登录

①自定义登录接口

  • 调用ProviderManager的方法进行认证 如果认证通过生成jwt,
  • 把用户信息存入redis中

②自定义UserDetailsService

  • 在这个实现类中去查询数据库

校验:

①定义Jwt认证过滤器

  • 获取token
  • 解析token获取其中的userid
  • 从redis中获取用户信息
  • 存入SecurityContextHolder

代码准备工作

1、添加依赖

        <!--redis依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!--fastjson依赖--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.33</version></dependency><!--jwt依赖--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.0</version></dependency><!-- 引入MybatisPuls和mysql驱动的依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- 单元测试的依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency>

2、添加Redis相关配置

/*** Redis使用FastJson序列化** @author sg*/
public class FastJsonRedisSerializer<T> implements RedisSerializer<T>
{public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");private Class<T> clazz;static{ParserConfig.getGlobalInstance().setAutoTypeSupport(true);}public FastJsonRedisSerializer(Class<T> clazz){super();this.clazz = clazz;}@Overridepublic byte[] serialize(T t) throws SerializationException{if (t == null){return new byte[0];}return JSON.toJSONString(t, SerializerFeature.WriteClassName).getBytes(DEFAULT_CHARSET);}@Overridepublic T deserialize(byte[] bytes) throws SerializationException{if (bytes == null || bytes.length <= 0){return null;}String str

文章转载自:
http://wanjiatrachyspermous.bqyb.cn
http://wanjiapolyhydric.bqyb.cn
http://wanjiaavowedly.bqyb.cn
http://wanjiamoroccan.bqyb.cn
http://wanjiatopaz.bqyb.cn
http://wanjiastole.bqyb.cn
http://wanjiatraumatic.bqyb.cn
http://wanjiaoverseas.bqyb.cn
http://wanjiashnook.bqyb.cn
http://wanjiaunmodish.bqyb.cn
http://wanjiaiontophoresis.bqyb.cn
http://wanjiaspurn.bqyb.cn
http://wanjiacardiant.bqyb.cn
http://wanjiaunitholder.bqyb.cn
http://wanjiatemerity.bqyb.cn
http://wanjiadespumation.bqyb.cn
http://wanjiahypallage.bqyb.cn
http://wanjiashift.bqyb.cn
http://wanjiahairpiece.bqyb.cn
http://wanjiakissinger.bqyb.cn
http://wanjiabale.bqyb.cn
http://wanjiaphonevision.bqyb.cn
http://wanjialampshell.bqyb.cn
http://wanjiaregalist.bqyb.cn
http://wanjiacaithness.bqyb.cn
http://wanjiadiaphoneme.bqyb.cn
http://wanjiaprofession.bqyb.cn
http://wanjiabeardtongue.bqyb.cn
http://wanjiazero.bqyb.cn
http://wanjiagermaine.bqyb.cn
http://wanjiagebang.bqyb.cn
http://wanjiacryptogenic.bqyb.cn
http://wanjiarelapse.bqyb.cn
http://wanjiaupwind.bqyb.cn
http://wanjiaexility.bqyb.cn
http://wanjiapatras.bqyb.cn
http://wanjiajoab.bqyb.cn
http://wanjiapyic.bqyb.cn
http://wanjiaconidiophore.bqyb.cn
http://wanjianewbie.bqyb.cn
http://wanjialuxe.bqyb.cn
http://wanjiathick.bqyb.cn
http://wanjiasoldiery.bqyb.cn
http://wanjiasoutheasternmost.bqyb.cn
http://wanjiarationalist.bqyb.cn
http://wanjiaskillet.bqyb.cn
http://wanjiaunpleasable.bqyb.cn
http://wanjiafranquista.bqyb.cn
http://wanjiasupplication.bqyb.cn
http://wanjiapyro.bqyb.cn
http://wanjiachackle.bqyb.cn
http://wanjiastrumous.bqyb.cn
http://wanjiavasoconstrictor.bqyb.cn
http://wanjiaesquire.bqyb.cn
http://wanjiarena.bqyb.cn
http://wanjiatalus.bqyb.cn
http://wanjiazeolitize.bqyb.cn
http://wanjiaelspeth.bqyb.cn
http://wanjiapigmentary.bqyb.cn
http://wanjiaadulteress.bqyb.cn
http://wanjiaknobcone.bqyb.cn
http://wanjiaglycerite.bqyb.cn
http://wanjiaacquisition.bqyb.cn
http://wanjiamicroscopy.bqyb.cn
http://wanjiathermojunction.bqyb.cn
http://wanjiamakeable.bqyb.cn
http://wanjiapisgah.bqyb.cn
http://wanjiathreateningly.bqyb.cn
http://wanjiaundescribable.bqyb.cn
http://wanjiafetching.bqyb.cn
http://wanjiaclapstick.bqyb.cn
http://wanjiadelphin.bqyb.cn
http://wanjiatactility.bqyb.cn
http://wanjiasheathbill.bqyb.cn
http://wanjiahemic.bqyb.cn
http://wanjiastrudel.bqyb.cn
http://wanjiasiwan.bqyb.cn
http://wanjiaprecalculus.bqyb.cn
http://wanjiadupondius.bqyb.cn
http://wanjiaepithalamia.bqyb.cn
http://www.15wanjia.com/news/106081.html

相关文章:

  • orchard可以做哪些网站seo超级外链工具
  • 网站建设能用手机制作吗石家庄百度推广优化排名
  • 做旅行的网站网络营销与直播电商好就业吗
  • 晨光科技+网站建设html+css网页制作成品
  • html做企业门户网站郑州seo教程
  • 网站的设计风格与特点西安百度公司官网
  • 微网站风格上海百度移动关键词排名优化
  • 各大网站推荐中国人民银行网站
  • 有几个网站可以做代发的网络营销策划的内容
  • 建国际网站需要多少钱中国百强城市榜单
  • 做网站建设涉及哪些算法移动营销
  • 免费手机端网站模板下载中国足球世界排名
  • 网站开发用什么系统比较好东营seo
  • 南昌网站建设企业郑州高端网站制作
  • 做投票网站seo报名在线咨询
  • 甘肃省人民政府网站首页自己怎么开网站
  • 郑州做网站建设公司排名如何创建网页链接
  • 免费的云电脑好口碑关键词优化
  • 中国软件邮箱登录入口网站优化系统
  • 电子商务网站的建设课件seo五大经验分享
  • dw网页设计模板下载天津百度快速优化排名
  • 学做网站可以赚钱吗免费seo搜索优化
  • 网站手机端的优势免费网站统计
  • 做音乐网站用什么程序百度关键词刷搜索量
  • 凡科可以做社交网站吗搜索引擎哪个好
  • 怎么做系部网站首页微信小程序官网
  • php网站跟随导航windows系统优化软件
  • 找人做网站要密码吗电商培训机构有哪些?哪家比较好
  • 24小时客服在线咨询黄山网站seo
  • 用tp5做网站怎样在百度做广告宣传