我正在构建一个 web ui,并决定通过 jwt 在 cookie 中获取身份验证。
我已经得到了最低限度的工作,但是当我在角色后面保留一个页面时,该页面(可以预见)不会加载。与其不加载,我更希望能够告诉端点重定向到实际的登录页面。这可能吗?理想情况下,我将能够在端点上提供注释以说“如果未经过身份验证,请转到此处”。
我设置 web ui 端点的代码:
@Traced
@Slf4j
@Path("/")
@Tags({@Tag(name = "UI")})
@RequestScoped
@Produces(MediaType.TEXT_HTML)
public class Index extends UiProvider {
@Inject
@Location("webui/pages/index")
Template index;
@Inject
@Location("webui/pages/overview")
Template overview;
@Inject
UserService userService;
@Inject
JsonWebToken jwt;
@GET
@PermitAll
@Produces(MediaType.TEXT_HTML)
public TemplateInstance index(
@Context SecurityContext securityContext
) {
logRequestContext(jwt, securityContext);
return index.instance();
}
@GET
@Path("overview")
@RolesAllowed("user")
@Produces(MediaType.TEXT_HTML)
public TemplateInstance overview(
@Context SecurityContext securityContext
) {
logRequestContext(jwt, securityContext);
return overview.instance();
}
}