You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@groovy.apache.org by Richard Heintze <si...@yahoo.com> on 2015/11/19 00:50:12 UTC

How to do username/password Authentication/Authorization with Groovy/SpringBoot?

I've been studying the two spring boot books I know of: Spring Boot in Action by Walls and Learning Spring Boot by Turnquist and (I just discovered) Spring Boot Recipies by Antonov. None of these books discuss the development of a groovy REST service using spring boot. So lets assume I'm starting with the minimum from https://spring.io/guides/gs/spring-boot/: @RestController
class ThisWillActuallyRun {

    @RequestMapping("/")
    String home() {
        return "Hello World!"
    }

} How do I enhance this to do authentication (and eventually authorization)? After reading the first two books (could find much discussion in the cookbook) I'm wondering if I just append this class to the end of the groovy source code file? @Configuration@EnableGlobalMethodSecurity(securedEnabled = true)public class SecurityConfiguration extends WebSecurityConfigurerAdapter {@Autowired  public void configureAuth(AuthenticationManagerBuilder auth) throws Exception {    auth.inMemoryAuthentication()....  }   @Override  protected void configure(HttpSecurity http) throws Exception {   http.authorizeRequests().antMatchers(HttpMethod.GET,"/dir").permitAll().anyRequest().authenticated().and()    .formLogin().loginPage("/login").failureUrl("/login?error=true"); // what does a REST controller do with a form? (1) If so, suppose it is only a REST service and not an MVC web page server. What do I do about the login forms? Ignore them?(2) Suppose it is a combination REST service (for AJAX maybe) and I want to serve a few MVC web pages too. (2a) How do I enhance the above groovy RestController to serve some MVC pages? Is it possible to have single class that services REST endpoints and MVC templates or do I need a separate controller class (in the same groovy source code file?) to serve MVC pages?(2b) Where (what directory), for example, would I put the login form? In the java example, the html goes into the src/main/resources/templates. Do I put the files in the same place for java as groovy? Who decides where the MVC templates are stored? Thank yousiegfried