我正在通过JaasRealm和自定义登录模块使用Tomcat CMA。在本文中,我将重写boolean LoginModule#login()
方法。现在,每当请求进入Web应用程序上下文时,首先都会通过此登录方法对其进行身份验证。因此,此登录方法的返回类型为boolean
@Override
public boolean login() throws LoginException {
Callback[] callbacks = new Callback[2];
因此,如果返回值为true
,则它将继续完成进一步的请求;如果返回值为false
,则它将返回401 Status
。在某些情况下,当我返回值false时,我想返回401状态以外的其他状态。但是似乎对我来说这是不可能的。知道如何在loginModule返回false时发回修改后的状态作为响应。
答案 0 :(得分:1)
您既不能在登录模块中也不能在JAASRealm中影响响应,如果身份验证成功,这些类将仅创建一个Principal,否则将为null,JAASRealm会吞噬每个异常。
因此,您应该
可以找到类似的主题here