diff --git a/core/src/main/java/org/springframework/security/core/userdetails/UserDetails.java b/core/src/main/java/org/springframework/security/core/userdetails/UserDetails.java
index 664725631e2..bab08c5a2ac 100644
--- a/core/src/main/java/org/springframework/security/core/userdetails/UserDetails.java
+++ b/core/src/main/java/org/springframework/security/core/userdetails/UserDetails.java
@@ -67,14 +67,18 @@ public interface UserDetails extends Serializable {
* @return true
if the user's account is valid (ie non-expired),
* false
if no longer valid (ie expired)
*/
- boolean isAccountNonExpired();
+ default boolean isAccountNonExpired() {
+ return true;
+ }
/**
* Indicates whether the user is locked or unlocked. A locked user cannot be
* authenticated.
* @return true
if the user is not locked, false
otherwise
*/
- boolean isAccountNonLocked();
+ default boolean isAccountNonLocked() {
+ return true;
+ }
/**
* Indicates whether the user's credentials (password) has expired. Expired
@@ -82,13 +86,17 @@ public interface UserDetails extends Serializable {
* @return true
if the user's credentials are valid (ie non-expired),
* false
if no longer valid (ie expired)
*/
- boolean isCredentialsNonExpired();
+ default boolean isCredentialsNonExpired() {
+ return true;
+ }
/**
* Indicates whether the user is enabled or disabled. A disabled user cannot be
* authenticated.
* @return true
if the user is enabled, false
otherwise
*/
- boolean isEnabled();
+ default boolean isEnabled() {
+ return true;
+ }
}
diff --git a/test/src/test/java/org/springframework/security/test/context/showcase/CustomUserDetails.java b/test/src/test/java/org/springframework/security/test/context/showcase/CustomUserDetails.java
index ccbc7a00f0f..6bdb82cbadb 100644
--- a/test/src/test/java/org/springframework/security/test/context/showcase/CustomUserDetails.java
+++ b/test/src/test/java/org/springframework/security/test/context/showcase/CustomUserDetails.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2016 the original author or authors.
+ * Copyright 2002-2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -54,26 +54,6 @@ public String getUsername() {
return this.username;
}
- @Override
- public boolean isAccountNonExpired() {
- return true;
- }
-
- @Override
- public boolean isAccountNonLocked() {
- return true;
- }
-
- @Override
- public boolean isCredentialsNonExpired() {
- return true;
- }
-
- @Override
- public boolean isEnabled() {
- return true;
- }
-
@Override
public String toString() {
return "CustomUserDetails{" + "username='" + this.username + '\'' + '}';