基于SpringBoot实现的https

1.生成SSL证书(需要具有JDK环境)

keytool -genkeypair -alias tomcat -keyalg RSA -keystore E:\tomcat.key

//其中-alias是证书的别名,RSA是加密算法,-keystore后是输出证书的路径所在

 

2.项目结构图

3.配置类

package com.chq.config;

import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ServletConfig {

	// springboot2 写法
    @Bea
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sure! 我可以帮你解答关于SpringBoot整合oauth2实现token认证的问题。 首先,你需要在你的SpringBoot项目中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-oauth2-client</artifactId> </dependency> ``` 接下来,你需要在你的application.properties文件中进行一些配置,包括oauth2的客户端信息和授权服务器信息。例如: ```properties spring.security.oauth2.client.registration.my-client-id.client-id=your-client-id spring.security.oauth2.client.registration.my-client-id.client-secret=your-client-secret spring.security.oauth2.client.registration.my-client-id.redirect-uri=http://localhost:8080/login/oauth2/code/my-client-id spring.security.oauth2.client.provider.my-client-id.authorization-uri=https://oauth2-provider.com/oauth2/authorize spring.security.oauth2.client.provider.my-client-id.token-uri=https://oauth2-provider.com/oauth2/token spring.security.oauth2.client.provider.my-client-id.user-info-uri=https://oauth2-provider.com/oauth2/userinfo spring.security.oauth2.client.provider.my-client-id.user-name-attribute=name ``` 请替换以上配置中的"your-client-id"、"your-client-secret"、"http://localhost:8080/login/oauth2/code/my-client-id"、"https://oauth2-provider.com/oauth2/authorize"、"https://oauth2-provider.com/oauth2/token"和"https://oauth2-provider.com/oauth2/userinfo"为你实际使用的值。 接下来,你可以创建一个Controller来处理登录和回调的请求。例如: ```java @RestController public class OAuth2Controller { @GetMapping("/login") public RedirectView login() { return new RedirectView("/oauth2/authorization/my-client-id"); } @GetMapping("/login/oauth2/code/my-client-id") public String callback() { return "callback"; } } ``` 在以上示例中,"/login"端点用于触发登录流程,"/login/oauth2/code/my-client-id"端点用于处理认证服务器的回调。 最后,你可以在需要进行token认证的地方使用`@EnableOAuth2Sso`注解来保护你的资源。例如: ```java @Configuration @EnableOAuth2Sso public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/secured-resource").authenticated() .anyRequest().permitAll(); } } ``` 在以上示例中,"/secured-resource"端点需要进行认证,其他端点允许匿名访问。 这就是基于SpringBoot整合oauth2实现token认证的基本步骤。当用户访问受保护的资源时,将会被重定向到认证服务器进行认证,并获得一个有效的访问令牌。 希望以上信息对你有帮助!如果你还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值