Is account enabled

Report a typo

The code snippets below print if a user account is enabled or disabled. Only one of them is correct. Your task is to find it.

A:

Java
@RestController
class A {

    @GetMapping("/test")
    public void test(UserDetails details) {
        System.out.println("Is account enabled: " + details.isEnabled());
    }
}
Kotlin
@RestController
class A {

    @GetMapping("/test")
    fun test(details: UserDetails) {
        println("Is account enabled: " + details.isEnabled)
    }
}

B:

Java
class B {

    public void test(@AuthenticationPrincipal UserDetails details) {
        System.out.println("Is account enabled: " + details.isEnabled());
    }
}
Kotlin
class B {

    fun test(@AuthenticationPrincipal details: UserDetails) {
        println("Is account enabled: " + details.isEnabled)
    }
}

C:

Java
@RestController
class C {

    @GetMapping("/test")
    public void test(Authentication auth) {
        UserDetails details = auth.getPrincipal();
        System.out.println("Is account enabled: " + details.isEnabled());
    }
}
Kotlin
@RestController
class C {

    @GetMapping("/test")
    fun test(auth: Authentication) {
        val details: UserDetails = auth.principal as UserDetails
        println("Is account enabled: " + details.isEnabled)
    }
}

D:

Java
@RestController
class D {

    @GetMapping("/test")
    public void test() {
        UserDetails details = (UserDetails) SecurityContextHolder
           .getContext()
           .getAuthentication()
           .getDetails();

        System.out.println("Is account enabled: " + details.isEnabled());
    }
}
Kotlin
@RestController
class D {

    @GetMapping("/test")
    fun test() {
        val details = SecurityContextHolder
            .getContext()
            .authentication
            .details as UserDetails
        println("Is account enabled: " + details.isEnabled)
    }
}
Select one option from the list
___

Create a free account to access the full topic