# spring-security-demo **Repository Path**: zhudunfeng/spring-security-demo ## Basic Information - **Project Name**: spring-security-demo - **Description**: security单应用配置 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-19 - **Last Updated**: 2022-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, SpringSecurity ## README # spring-security相关项目技术总结 ## spring-security-demo 1. 主要是security单体应用配置,是分布是项目的基础,是重中之重 2. 在security中securityConfig.java是最中要的,他是security相关配置的基础 3. UserDetailServiceImpl.java是用户自定义登录逻辑,这里用户可以与自己数据库中用户的相关信息进行比对。 ```yaml ├─main │ ├─java │ │ └─com │ │ └─adun │ │ └─springsecuritydemo │ │ │ SpringSecurityDemoApplication.java │ │ │ │ │ ├─config │ │ │ SecurityConfig.java #security配置文件 │ │ │ │ │ ├─controller │ │ │ LoginController.java │ │ │ │ │ ├─handler │ │ │ MyAccessDeniedHandler.java #自定义异常处理处理器 │ │ │ MyAuthenticationFailureHandler.java #自定义登录失败处理器 │ │ │ MyAuthenticationSuccessHandler.java #自定义登录成功处理器 │ │ │ │ │ └─service │ │ │ MyService.java │ │ │ │ │ └─impl │ │ MyServiceImpl.java #自定义access方法 # .anyRequest().access("@myServiceImpl.hasPermission(request,authentication)"); │ │ UserDetailServiceImpl.java #用户自定义登录逻辑 │ │ │ └─resources │ │ application.yml │ │ │ ├─static │ │ │ error.html │ │ │ login.html │ │ │ main.html │ │ │ main1.html │ │ │ │ │ ├─css │ │ ├─images │ │ │ cesi.jpg │ │ │ cesi.png │ │ │ │ │ └─js │ └─templates #模板【使用的thymeleaf】 │ demo.html │ login.html │ └─test └─java └─com └─adun └─springsecuritydemo SpringSecurityDemoApplicationTests.java ``` ## springsecurityoauth2-demo > 主要配置了:授权码模式、密码模式 1. 这个项目主要是验证SpringSecurity与OAuth2相关技术的整合 2. 作为认证服务器相关的配置信息 ```yaml ├─main │ ├─java │ │ └─com │ │ └─adun │ │ └─springsecurityoauth2demo │ │ │ Springsecurityoauth2DemoApplication.java │ │ │ │ │ ├─config │ │ │ AuthorizationServerConfig.java #验证服务器相关配置 │ │ │ JwtTokenEnhancer.java #Jwt中的增强扩展,k-v │ │ │ JwtTokenStoreConfig.java │ │ │ RedisConfig.java # redis保存token相关配置【用于验证服务器配置中】 │ │ │ ResourceServerConfig.java #资源服务器相关配置 │ │ │ SecurityConfig.java #配置当前项目security需要放行的资源 │ │ │ │ │ ├─controller │ │ │ UserController.java │ │ │ │ │ ├─projo │ │ │ User.java │ │ │ │ │ └─service │ │ UserDetailServiceImpl.java │ │ │ └─resources │ application.properties │ └─test └─java └─com └─adun └─springsecurityoauth2demo Springsecurityoauth2DemoApplicationTests.java ``` ## oauth2-client1-demo > OAuth2用于验证的客户端,这里,我们使用springsecurityoauth2-demo作为认证服务器来进行使用