diff --git a/core/src/main/java/org/springframework/security/access/expression/SecurityExpressionRoot.java b/core/src/main/java/org/springframework/security/access/expression/SecurityExpressionRoot.java
index de27a7d063..db26a13b35 100644
--- a/core/src/main/java/org/springframework/security/access/expression/SecurityExpressionRoot.java
+++ b/core/src/main/java/org/springframework/security/access/expression/SecurityExpressionRoot.java
@@ -153,7 +153,7 @@ public abstract class SecurityExpressionRoot implements SecurityExpressionOperat
@Override
public final boolean isFullyAuthenticated() {
Authentication authentication = getAuthentication();
- return !this.trustResolver.isAnonymous(authentication) && !this.trustResolver.isRememberMe(authentication);
+ return this.trustResolver.isFullyAuthenticated(authentication);
}
/**
diff --git a/core/src/main/java/org/springframework/security/authentication/AuthenticationTrustResolver.java b/core/src/main/java/org/springframework/security/authentication/AuthenticationTrustResolver.java
index b0de70d2ce..1e37d6c406 100644
--- a/core/src/main/java/org/springframework/security/authentication/AuthenticationTrustResolver.java
+++ b/core/src/main/java/org/springframework/security/authentication/AuthenticationTrustResolver.java
@@ -53,4 +53,21 @@ public interface AuthenticationTrustResolver {
*/
boolean isRememberMe(Authentication authentication);
+ /**
+ * Indicates whether the passed Authentication token represents a fully
+ * authenticated user (that is, neither anonymous or remember-me). This is a
+ * composition of isAnonymous and isRememberMe
+ * implementation
+ *
+ * @param authentication to test (may be null in which case the method
+ * will always return false)
+ * @return true the passed authentication token represented an anonymous
+ * principal & is authenticated using a remember-me token, false
+ * otherwise
+ * @since 5.8
+ */
+ default boolean isFullyAuthenticated(Authentication authentication) {
+ return !isAnonymous(authentication) && !isRememberMe(authentication);
+ }
+
}
diff --git a/core/src/main/java/org/springframework/security/authorization/AuthenticatedAuthorizationManager.java b/core/src/main/java/org/springframework/security/authorization/AuthenticatedAuthorizationManager.java
index b9236eae3d..88192e4d9e 100644
--- a/core/src/main/java/org/springframework/security/authorization/AuthenticatedAuthorizationManager.java
+++ b/core/src/main/java/org/springframework/security/authorization/AuthenticatedAuthorizationManager.java
@@ -143,7 +143,7 @@ public final class AuthenticatedAuthorizationManager