11/*
2- * Copyright 2019-2024 the original author or authors.
2+ * Copyright 2019-2025 the original author or authors.
33 *
44 * Licensed under the Apache License, Version 2.0 (the "License");
55 * you may not use this file except in compliance with the License.
109109 * @author Manuel Tejeda
110110 * @author Ebert Toribio
111111 * @author Ngoc Nhan
112+ * @author Andrey Litvitski
112113 * @since 5.2
113114 */
114115public class RSocketSecurity {
@@ -119,6 +120,8 @@ public class RSocketSecurity {
119120
120121 private SimpleAuthenticationSpec simpleAuthSpec ;
121122
123+ private boolean disableAnonymous ;
124+
122125 private JwtSpec jwtSpec ;
123126
124127 private AuthorizePayloadsSpec authorizePayload ;
@@ -179,6 +182,15 @@ public RSocketSecurity basicAuthentication(Customizer<BasicAuthenticationSpec> b
179182 return this ;
180183 }
181184
185+ /**
186+ * Disables anonymous authentication.
187+ * @return the builder for additional customizations
188+ */
189+ public RSocketSecurity disableAnonymous () {
190+ this .disableAnonymous = true ;
191+ return this ;
192+ }
193+
182194 public RSocketSecurity jwt (Customizer <JwtSpec > jwt ) {
183195 if (this .jwtSpec == null ) {
184196 this .jwtSpec = new JwtSpec ();
@@ -214,7 +226,9 @@ private List<PayloadInterceptor> payloadInterceptors() {
214226 if (this .jwtSpec != null ) {
215227 result .addAll (this .jwtSpec .build ());
216228 }
217- result .add (anonymous ());
229+ if (!this .disableAnonymous ) {
230+ result .add (anonymous ());
231+ }
218232 if (this .authorizePayload != null ) {
219233 result .add (this .authorizePayload .build ());
220234 }
0 commit comments