Files
spring-auth-demo/security-7-migration/src/compat/OldSecurity.java
T

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());
}
}
}