Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01YPgGH6aMbSLANL3E2HHmS6
48 lines
2.0 KiB
Java
48 lines
2.0 KiB
Java
import org.springframework.security.access.annotation.Secured;
|
|
import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
|
|
import org.springframework.security.authorization.AuthorizationDecision;
|
|
import org.springframework.security.authorization.AuthorizationManager;
|
|
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
|
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
|
import org.springframework.security.core.Authentication;
|
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
|
import org.springframework.security.oauth2.core.AuthorizationGrantType;
|
|
import org.springframework.security.web.access.intercept.RequestAuthorizationContext;
|
|
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
|
|
|
|
import java.util.function.Supplier;
|
|
|
|
/** Security 6 style code. Compiled by scripts/compile-old-apis.sh against 6.5.11 and 7.1.2; not part of a Maven build. */
|
|
@EnableGlobalMethodSecurity(prePostEnabled = true)
|
|
class OldSecurity {
|
|
|
|
void chain(HttpSecurity http) throws Exception {
|
|
http.authorizeRequests(a -> a.anyRequest().authenticated());
|
|
}
|
|
|
|
void chainWithAnd(HttpSecurity http) throws Exception {
|
|
http.csrf().disable().headers().frameOptions().sameOrigin();
|
|
}
|
|
|
|
Object matcher() {
|
|
return new AntPathRequestMatcher("/api/**");
|
|
}
|
|
|
|
DaoAuthenticationProvider provider(UserDetailsService users) {
|
|
DaoAuthenticationProvider p = new DaoAuthenticationProvider();
|
|
p.setUserDetailsService(users);
|
|
return p;
|
|
}
|
|
|
|
Object grant() {
|
|
return AuthorizationGrantType.PASSWORD;
|
|
}
|
|
|
|
static class CustomManager implements AuthorizationManager<RequestAuthorizationContext> {
|
|
@Override
|
|
public AuthorizationDecision check(Supplier<Authentication> authentication, RequestAuthorizationContext ctx) {
|
|
return new AuthorizationDecision(authentication.get().isAuthenticated());
|
|
}
|
|
}
|
|
}
|