L'éditeur php Baicao répond à votre question : "Est-il possible de récupérer des rôles depuis ServerWebExchange ?" Dans Spring WebFlux, les informations sur le rôle actuellement demandées peuvent être obtenues via l'objet ServerWebExchange. ServerWebExchange est l'une des classes principales du framework Spring WebFlux, qui représente le contexte des requêtes et des réponses HTTP. Grâce à l'objet ServerWebExchange, vous pouvez accéder à des informations telles que le chemin de la demande, les en-têtes de la demande et les paramètres de la demande. Pour obtenir des informations sur le rôle, vous pouvez obtenir l'objet utilisateur actuellement demandé via la méthode getUser() de l'objet ServerWebExchange pour obtenir les informations sur le rôle de l'utilisateur. De cette manière, vous pouvez effectuer le contrôle des autorisations et le traitement métier correspondants en fonction du rôle de l'utilisateur.
Je peux récupérer le nom principal de l'instance org.springframework.web.server.serverwebexchange
.
exchange.getprincipal().subscribe(principal -> /* do something with it */);
Puis-je également récupérer le rôle du directeur ? java.security.principal
类(与 userdetails
不同)仅提供名称字符串 (getname()
)
Cas d'utilisation : Disons que je souhaite écrire un gatewayfilter
qui prend en compte le rôle de l'utilisateur actuel et modifie l'échange :
(exchange, chain) -> /* some filtering logic */
Je l'ai converti en authentication
。就我而言,主体实际上是 usernamepasswordauthenticationtoken
,即 authentication
sous-type
((Authentication) principal).getAuthorities()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!