gpt4 book ai didi

java - 使用 Swagger 进行身份验证登录

转载 作者:行者123 更新时间:2023-12-02 12:56:16 24 4
gpt4 key购买 nike

我正在使用 Swagger UI 进行交互式 REST 端点表示。但是,每个知道其 URL 的人都可以访问 Swagger UI。是否有任何标准方法可以通过用户登录来限制 Swagger UI 访问。

<dependency> 
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jersey2-jaxrs</artifactId>
<version>LATEST</version>
</dependency>

最佳答案

不,这不属于 swagger 关心的范围。您只需使用普通的 WebSecurityConfigurerAdapter 来控制 swagger-ui.html URL 的权限。如果您使用不同的方式来配置安全性(IMO),也会非常令人困惑。

示例

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/swagger-ui.html")
.access("hasRole('ROLE_ADMIN')");
}
}

但是,如果您不想基于 URL 实现安全性,那么您也可以基于 Controller 实现安全性,以及服务的安全性(如果它们涉及),但在本例中没有。安全性在很大程度上是特定于应用程序的。我不能说这样做,你甚至可能根本不想使用Spring Security,而只是做你自己的事情,它只是另一个让你的生活更轻松的框架,你可以轻松访问当前登录的用户在 swagger-ui.html View 的 View 解析器中,抛出未经授权的异常或类似的异常。

关于java - 使用 Swagger 进行身份验证登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44426023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com