c网站登录授权源码分享 网站授权系统

各位老铁们好,相信很多人对c网站登录授权源码分享都不是特别的了解,因此呢,今天就来为大家分享下关于c网站登录授权源码分享以及网站授权系统的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

提到HttpSecurity,熟悉SpringSecurity的同学,肯定嗤之以鼻,它不就是创建了SecurityFilterChain吗,好吧,确实。不过今天我们换种玩法,通过实战,来看源码,看看它到底怎么生效的。

代码准备

这里我们新建boot项目,基于2.1.10.RELEASE,然后创建一个简单的ProduceController,包含有get()、list()两个方法

<parent>\n<groupId>org.springframework.boot</groupId>\n<artifactId>spring-boot-starter-parent</artifactId>\n<version>2.1.10.RELEASE</version>\n<relativePath/><!–lookupparentfromrepository–>\n</parent>

@RestController\n@RequestMapping(&34;)\npublicclassProduceController{\n@GetMapping(&34;)\npublicStringlist(){\nreturn&34;;\n}\n@GetMapping(&34;)\npublicStringget(){\nreturnSecurityUtil.getUsername()+&34;;\n}\n}

配置HttpSecurity

1).指定当前SecurityFilterChain匹配哪些请求

每一个WebSecurityConfigurerAdapter都会生成一个SecurityFilterChain过滤器链。默认拦截所有请求,因此anyRequest()方法加与不加,效果一样。源码:

2).创建FilterSecurityInterceptor

此为核心类,主要用来处理认证和授权。配置源码:

3).启用表单登录

创建UsernamePasswordAuthenticationFilter过滤器,配置源码:

实战

1).直接访问

访问product/get:跳转/login,显示登录页访问product/list:跳转/login,显示登录页

2).修改HttpSecurity配置

访问product/get:正常显示访问product/list:页面提示403,提示需要权限

3).再次修改HttpSecurity配置

访问product/get:正常显示访问product/list:跳转/login,但是页面提示404

第三个是我在写文章的时候,手滑出来的,感觉挺有代表性。大家可以开动下脑筋想下这里,为什么会出现404,而不是显示登录页。

友情提醒,答案会在下方评论处出没,需要源码的同学可以私聊我。

OK,本文到此结束,希望对大家有所帮助。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平