如何知道jsr-196 auth模块中的资源是否受到保护?

时间:2012-01-30 16:07:42

标签: java java-ee glassfish

我编写了一个自定义JSR-196模块,它结合了多种机制来保护资源。

如果提供身份验证,它的效果非常好。

现在,如果访问受保护的资源并且未提供身份验证,我想将用户重定向到某个登录页面。

我怎么知道资源受到保护?我不想重定向到未受保护的图像或登录页面本身。我使用web.xml来允许不受限制地访问它。对于那些页面,发送AuthStatus.SUCCESS似乎是显示它们的唯一方法。我宁愿认为我需要发送AuthStatus.SEND_CONTINUE。而且我需要一种方法来判断是否需要限制访问权限。

我正在使用Glassfish 3.1。

1 个答案:

答案 0 :(得分:0)

似乎我以某种方式删除了requestPolicy.isMandatory()check ...

这就是魔术发生的地方,它告诉你资源是否受到保护。

我认为requestPolicy与ServerAuthModule绑定。现在,这是事实,但是为受保护和不受保护的资源创建了不同的ServerAuthModule。