Micronaut 禁止所有路线
Posted
技术标签:
【中文标题】Micronaut 禁止所有路线【英文标题】:Micronaut all routes forbidden 【发布时间】:2021-12-29 00:49:04 【问题描述】:我使用 JWT 令牌在 Micronaut 中创建了一个应用程序以确保安全
mn create-app --features=security-jwt,data-jdbc,reactor,graalvm example.micronaut.micronautguide --build=gradle --lang=java
现在我所有的路线都被禁止了。如何从 JWT 令牌检查中排除某些路由(即登录)。我尝试了不带注释和带注释 IS_ANONYMOUS
package logfetcher;
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;
import io.micronaut.http.annotation.Produces;
import io.micronaut.http.annotation.Produces;
import io.micronaut.security.annotation.Secured;
import io.micronaut.security.rules.SecurityRule;
@Controller("/log")
public class LogFethcerContoller
@Get
@Secured(
SecurityRule.IS_ANONYMOUS )
@Produces(MediaType.TEXT_PLAIN)
public String index()
return "Hello World";
@Get("log")
public String index1()
return "Hello World";
我在两条路线上都得到 401。 我怎样才能拥有不需要 JWT 令牌的路由。
【问题讨论】:
【参考方案1】:我在两条路线上都得到 401。
来自micronaut-projects.github.io/micronaut-security/3.2.0/guide/#gettingStarted...
默认情况下,Micronaut 会返回 HTTP 状态未经授权 (401) 端点调用。必须通过 提供机制。
问题:
我怎样才能拥有不需要 JWT 令牌的路由。
有很多方法。
来自micronaut-projects.github.io/micronaut-security/3.2.0/guide/#securityRule...
允许匿名或匿名访问特定端点的决定 经过身份验证的用户由一组安全规则确定。
@PermitAll
是一种方法。其他的记录在上面的链接中。
【讨论】:
以上是关于Micronaut 禁止所有路线的主要内容,如果未能解决你的问题,请参考以下文章