可视化/数字孪生专业社区
资源中心
问答
文章
实用工具
ByteVCharts
开源中台
申请建模
申请帮助
登录
注册
申请协助
此单为
付费
协助
×
为协助帮威客用户快速入门,帮威客平台可损供用户特定项目的框架代码开发服务。该服务可为用户快速构建符合项目基本需求的3D可视化框架代码资源(包括源码、3D模型、贴图、数据等),用户的技术团队可在此基础上快速上手,大幅提高3D可视化项目成功基础。
预算金额
公司名称
联系人
微信号
手机号码
提交申请
申请协助
此单为
付费
协助
×
为协助帮威客用户快速入门,帮威客平台可损供用户特定项目的框架代码开发服务。该服务可为用户快速构建符合项目基本需求的3D可视化框架代码资源(包括源码、3D模型、贴图、数据等),用户的技术团队可在此基础上快速上手,大幅提高3D可视化项目成功基础。
预算金额
公司名称
联系人
微信号
手机号码
提交申请
业务咨询
开发咨询
微信咨询
杜老师
黄老师
熊老师
支付信息
×
购买文章
HttpSecurity初步理解
订单金额
¥
0
实付金额
¥
0
我已阅读并同意ByteV组件购买协议
取消
提交订单
支付宝支付
微信支付
提交订单
0
点赞
0
评论
收藏
分享
举报
HttpSecurity初步理解
young
关注
已关注
0
0
0
1703
发表于 2020-07-08 20:08:44
pring Security是一个强大的、可根据需求高度自定义的用户认证和访问控制框架。Spring Security怎么保证所有向Spring application发送请求的用户必须先通过认证;怎么保证它自己支持用户通过表单的方式进行认证。解决的办法是Spring Security中有个WebSecurityConfigurerAdapter类,它的configure(HttpSecurity http)方法默认了一个配置, ``` protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .anyRequest().authenticated() .and() .formLogin() .and() .httpBasic(); } ``` 上述代码是默认的配置,规定了一下三点: 若要给应用程序发送请求,则发送请求的用户必须先通过认证。 允许用户采用表单登录的方式进行认证。 允许用户采用HTTP基本的认证方式进行认证。 **Java配置和表单登录** 当被提示登录的时候,你可能想知道登录表单的来源,因为我们没有提及任何HTML文件或者jsp。因为Spring Security的默认配置没有为登录界面指定明确的URL,因此,Spring Security会根据启用功能自动生成一个URL处理提交的登录信息。登陆后,用户将被发送默认的目标URL。大多数应用想提供自己的登录页。为实现这个目的,我们必须继承WebSecurityConfigurerAdapter并且重写configure(HttpSecurity http)方法,下面是重写的demo。 ``` protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .anyRequest().authenticated() .and() .formLogin() .loginPage("/login") .permitAll(); } ``` 在这个demo中,loginPage("/login")指定了登录页的URL,并允许所有的用户(包括没认证的)访问登录页,formLogin().permitAll()方法允许所有用户访问这个URL。 **认证请求** 应用程序的每个URL都要求用户通过认证,我们可以通过给`http.authorizeRequests()`方法添加子方法的方式为每个URL指定自定义要求。例如: ``` protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/resources/**", "/signup", "/about").permitAll() .antMatchers("/admin/**").hasRole("ADMIN") .antMatchers("/db/**").access("hasRole('ADMIN') and hasRole('DBA')") .anyRequest().authenticated() .and() // ... .formLogin(); } ``` http.authorizeRequests()下添加了多个匹配器,每个匹配器用来控制不同的URL接受不同的用户访问。简单讲,http.authorizeRequests()就是在进行请求的权限配置。 所有用户都可以访问以/resources/**开头的URL,和/signup、/about两个URL。 拥有ADMIN角色的用户可以访问以/admin/开头的URL。hasRole(String):如果当前用户有String表示的角色,则返回True。 同时拥有ADMIN和DBA角色的用户可以访问以/db/**开头的URL。access(String):当String为true时才可进行访问。 所有没被匹配器匹配到的URL都需用户通过认证。 and()返回一个SecurityBuilder。Spring Security支持两种认证方式:formLogin()和httpBasic()。
点击查看更多
全部评论
登录
|
注册
关于作者
young
TA的个人主页
关注
已关注
文章
5
粉丝
0
获赞
0
评论
0
访问
8514
Hadoop
Spring Data JPA 常用注解
HttpSecurity初步理解
Redis简介
Java小技巧
推荐文章
ThreeJS 轮廓线特效 OutLinePath
(3)、React中使用ECharts——柱状图
31个惊艳的数据可视化作品,让你感受“数据之美”!
防抖节流
创建海洋特效组件 THREEJS 海洋效果 Shader实现
文章目录
文章分享
×
扫一扫分享
复制链接