3

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

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

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

4

1 回答 1

2

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

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);
于 2012-08-01T10:48:59.483 回答