java - 将注册表单添加到 JAAS 保护的 servlet

标签 java servlets jetty jaas

对于我的 Java Web 应用程序,我使用 JAAS 进行身份验证和授权。任何东西都受到保护,但登录和错误页面除外,因此我将 Jetty 配置为:

ConstraintMapping cm = new ConstraintMapping();
cm.setConstraint(constraint);
cm.setPathSpec("/*");

现在我想提供一个注册页面,有没有办法为路径规范定义一个异常(exception)?就我在源代码中测试和看到的而言,正则表达式在这里不起作用。

最佳答案

这可以通过约束松弛来解决。 您可以向约束映射添加另一个约束,这将放宽 /* 的更一般约束:

Constraint relaxation = new Constraint();
relaxation.setName(Constraint.ANY_ROLE);
relaxation.setAuthenticate(false);

ConstraintMapping rm = new ConstraintMapping();
rm.setConstraint(relaxation);
rm.setPathSpec("/signup");

然后您也将此约束添加到您的 ContextSecurityHandler

csh.addConstraintMapping(rm);

关于java - 将注册表单添加到 JAAS 保护的 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11751067/

相关文章:

java - StackOverflowError 和 OutOfMemoryError 有什么区别

java - 在 MVC 中实现分页 - Servlet + JSP

java servlet 初始化和销毁

maven-2 - 使用maven和嵌入式jetty : ClassCastException

java - Jetty 持久 session - 只写?

java - 使用 WorkManager 在 Jetty 上启用编程并发

java - 我应该使用微服务或映射实体在多个应用程序之间共享数据吗?

java - 使用 PHP 解码 Java 的 JSON Unicode 值

java - java中带注释的简单servlet(图像文件夹)

java - 将 spring boot jar 导入到另一个应用程序中,无需 @ComponentScan 和 Xml 配置