Authentication Tomcat7-JDBCRealm登录
我将JDBCRealm与Tomcat7一起使用。我想建立一个简单的登录页面。 这是我的登录表单: 我的web.xml内容是:Authentication Tomcat7-JDBCRealm登录,authentication,login,tomcat7,jdbcrealm,Authentication,Login,Tomcat7,Jdbcrealm,我将JDBCRealm与Tomcat7一起使用。我想建立一个简单的登录页面。 这是我的登录表单: 我的web.xml内容是: <login-config> <auth-method>FORM</auth-method> <form-login-config> <form-login-page>/user/login.jsp</form-login-page> <for
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/user/login.jsp</form-login-page>
<form-error-page>/user/login-failed.html</form-error-page>
</form-login-config>
</login-config>
形式
/user/login.jsp
/user/login-failed.html
我想在用户通过身份验证后将其重定向到某个a.jsp页面。
我该怎么做呢?你不需要。表单身份验证不是这样工作的。用户请求一个页面。如果需要身份验证,则他们会收到登录页面,而不是他们请求的页面。然后,他们输入他们的凭据,如果有效,将显示他们最初请求的页面
如果坚持滥用表单身份验证过程,可以设置org.apache.catalina.authenticator.FormAuthenticator的landingPage属性。有关详细信息,请参阅文档()。据我所知,您想要重定向用户的原因取决于角色。假设用户是管理员,则应将其重定向到admin.jsp(例如),如果用户是经理角色,则应将其重定向到manager.jsp 让我们假设您在JDBCRealm中定义了两个角色admin和manager 您可以通过在项目中创建一个servlet来实现这一点,例如LoginServlet.java 因此,您必须设置以下内容:
欢迎管理员
正文标记中的文本
WebContent/htmlpage/manager.jsp put
欢迎管理员
正文标记中的文本
在LoginServlet.jsp的doGet方法中
把这个简单的代码:
if(request.isUserInRole(“admin”))
{
response.sendRedirect(“htmlpage/admin.jsp”);
}
if(request.isUserInRole(“manager”)){
response.sendRedirect(“htmlpage/manager.jsp”);
}
之后,您必须将欢迎文件设置为登录servletinweb.xml
例如
假设在web.xml中,servlet条目是
罗金瑟夫莱特酒店
罗金瑟夫莱特酒店
LoginServlet的完全分类名称
罗金瑟夫莱特酒店
/罗金瑟夫莱特酒店
然后从Servlet映射中获取url模式,并将其放入欢迎文件列表中,不带任何斜杠:
像
罗金瑟夫莱特酒店
确保没有包含斜杠。正如我在代码loginServlet中所说的,欢迎文件属性应该没有斜杠
运行此代码。:-)您将被重定向到相应的jsp页面