我在Micronaut中创建了一个应用程序,使用JWT令牌来保证安全性
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令牌的路由。
发布于 2021-11-23 14:34:35
我在两条路线上都得到了401。
来自micronaut-projects.github.io/micronaut-security/3.2.0/guide/#gettingStarted的。
默认情况下,对于任何端点调用,
都会返回HTTP状态any (401)。必须通过所提供的机制显式地允许路由。
问题:
如何才能拥有不需要JWT令牌的路由。
有很多种方法。
来自micronaut-projects.github.io/micronaut-security/3.2.0/guide/#securityRule的。
允许匿名或经过身份验证的用户访问特定端点的决定由一组安全规则决定。
@PermitAll是这样做的一种方式。其他的在上面的链接中有说明。
https://stackoverflow.com/questions/70014615
复制相似问题