TASK:免密登录;

This commit is contained in:
shahaibo
2024-01-17 17:49:40 +08:00
parent c5d540686e
commit 90634f73c7
7 changed files with 191 additions and 28 deletions

View File

@@ -12,14 +12,11 @@ import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.web.access.expression.DefaultWebSecurityExpressionHandler;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import org.springframework.security.web.authentication.www.BasicAuthenticationFilter;
import javax.annotation.Resource;
import java.util.ArrayList;
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@@ -63,7 +60,6 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers(securityProperties.getIgnorePaths()).permitAll()//忽略的请求
.anyRequest().authenticated()//其余所有的请求都需要认证
.and().headers().frameOptions().disable()// 防止iframe 造成跨域
.and().x509().subjectPrincipalRegex("CN=(.*?)(?:,|$)").userDetailsService(userDetailsService())
.and().exceptionHandling().authenticationEntryPoint(userAuthenticationEntryPointHandler)//未登录请求处理
.accessDeniedHandler(userAuthAccessDeniedHandler)//无权限访问处理类 (此配置可以忽略全局异常会先于Security框架处理异常全局异常已特殊处理)
.and().formLogin().loginProcessingUrl(securityProperties.getAuthApi())//指定认证接口
@@ -85,13 +81,4 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
handler.setPermissionEvaluator(userPermissionEvaluator);
return handler;
}
@Bean
public UserDetailsService userDetailsService() {
return username -> {
// 这里可以根据用户名查找用户信息,例如从数据库中查询
// 返回 UserDetails 对象
return new User(username, "", new ArrayList<>());
};
}
}

View File

@@ -45,7 +45,7 @@ public class AuthenticationFilter extends OncePerRequestFilter {
"/webjars/", "/swagger-resources", "/v2/api-docs", "api/account/resetPwd",
"/api/python/saveGeneratePicture", "/api/python/getLibraryByUserId",
"/api/third/party/addUser","/api/third/party/addTrialUser", "/api/third/party/editUser", "/api/element/initDefaultSysFile",
"/api/third/party/addNoLoginRequired","/api/third/party/deleteNoLoginRequired",
"/api/third/party/addNoLoginRequiredNew","/api/third/party/deleteNoLoginRequiredNew",
"/api/third/party/existNoLoginRequired",
"/api/python/chatStream",
"/api/python/flush",