Comment utiliser la sécurité de base des points de fin de gestion tels que mais je veux un nom d'utilisateur / mot de passe différent pour les points d'extrémité de gestion. Impossible de trouver / env, la santé, / métriques code>?
Je souhaite utiliser différentes informations d'identification de l'utilisateur pour les points de fin ci-dessus par rapport à la sécurité des points d'extrémité du contrôleur d'applications.
Dans mon application.Properties, j'ai spécifié ci-dessous pour la sécurité du contrôleur d'application
gestion.security.user.name code> propriété. P> p>
3 Réponses :
Security Spring a un "Global" Ainsi, si vous voulez différents comptes d'utilisateurs pour les points d'extrémité de gestion et les points de terminaison d'application, vous avez (au moins) deux choix: p>
Définissez un Utilisez le global authentificationManager code> configuré dans
@bean code> des instances de type
globalauthentinicationconfigureAdapter code>. Ce
authentificationManager code> est celui configuré par le
Security.user. * Code> Propriétés, sauf si vous définissez
sécurité.basic.enabled = false code>. Le global
am code> est également joint aux points d'extrémité de gestion par défaut et c'est le parent de tout «code local»
authentificationManagers code> défini dans
WebsecurityConfigurationAnadapters code> (ils sont tous
Providermanagers code>). P>
AM local code> pour vos paramètres d'application dans un
WebSecurityConfigurationAdapter code> et assurez-vous que les points d'extrémité de gestion ne sont pas couverts par ce filtre. C'est facile, car c'est ce que vous obtenez sans penser beaucoup et il suffit d'ajouter un
authentificationmanagerbuilder code> à votre
WebsecurityConfigurationAdapter code> (tant qu'il est commandé attentivement par rapport à la filtre qui sécurise les points d'extrémité de gestion ). p> li>
am code> (ou en effet un autre local) pour les points de terminaison d'application et reconfigurez la sécurité des points d'extrémité de gestion (par exemple, définir
Security.basic.Enabled = False Code> et ajoutez votre propre
WebsecurityConfigurierAdapter code> couvrant les points d'extrémité de gestion). Cela pourrait être plus de travail et duplique certaines des défauts de démarrage, mais au moins, vous saurez ce que vous obtenez. P> li>
ul>
Dave déjà expliqué bien, mais ici un exemple complet avec WebsecurityConfigurierAdapter et base de données en tant que source authentifie.
$ curl -u admin:password http://127.0.0.1:8081/management/health
{"status":"UP","diskSpace":{"status":"UP","free":163634987008,"threshold":10485760},"db":{"status":"UP","database":"H2","hello":1}}
Pour implémenter les points de fin de la sécurité de base, vous devez utiliser le code ci-dessous
@Configuration public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable().authorizeRequests().anyRequest().authenticated().and().httpBasic(); } }