繁体   English   中英

如何在tomcat中使用领域login-config进行无效和登录

[英]How can I invalidate and login using realm login-config in tomcat

我有一个领域和一个登录页面/login ,该页面提供用于登录该领域的表单。 我希望用户能够直接导航到登录页面并首次登录,从而导致重定向到应用程序的主页,或者以新用户(或同一用户)身份登录,该用户还会发送他们到应用程序的主页。 这里有两个问题:

1)如果登录的用户直接进入登录页面并尝试以其他用户身份登录, The requested resource (/myapp/j_security_check) is not available.收到404错误The requested resource (/myapp/j_security_check) is not available.

2)如果用户是第一次登录,我会收到一条错误400 The request sent by the client was syntactically incorrect (Invalid direct reference to form login page).

是否可以按照我描述的方式使用登录表单,还是必须通过servlet在第二个登录页面上手动登录? 如果必须创建自己的身份,如何登录它们,以便tomcat继续管理身份验证(在用户尝试访问受限页面而未登录的情况下,我将保留login-config表单)?

我发现不可能以这种方式使用<login-config>表单。 但是,Servlet 3.0规范使我们可以访问一些有用的功能,这些功能使您可以编写自己的Servlet来登录用户HttpServletRequest#loginHttpServletRequest#logout允许您将用户登录到与之关联的领域之外。 servlet上下文。 此外,您可以通过使用HttpServletRequest#getUserPrincipals检查用户主体对象来检查用户是否已登录到领域。

我使用这些功能在路径/login的servlet中设置了我的自定义登录页面,并且我也拥有几乎相同的servlet / jsp,领域身份验证器将转发至该页面,但不同之处在于该表单将提交给j_security_check 重用第一个登录servlet / jsp并更改表单中的action属性和字段可能是一种不错的方法,但是我将把它再留一天。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM