首页 > 解决方案 > 用户使用 Apache Shiro 和 JSP 重新登录时如何重定向到主页

问题描述

我是 Apache Shiro 和 JSP 的新手。现在,我可以使用 Shiro 登录。但是,如果用户已登录,并且用户在 URL 上直接键入登录页面localhost/testing/login.jsp,系统会将用户重定向到登录页面,因此用户继续输入用户名和密码,然后用户将永远停留在那里,即使用户名和密码正确。在我的shiro.ini,我放authc.successUrl = /index.jsp,它适用于第一次登录,但如果我刚刚提到的场景并且它不会重定向。

这是登录表格

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html> 
<head>
<title>Login Page</title>
</head>
<body>
<section id="login">
<form name="loginform" action="" method="POST" accept-charset="UTF-8">
    <div>
        <input type="text" id="username" name="username">
        <label for="username">Username</label>
    </div>
    <div>
        <input type="password" id="password" name="password">
        <label for="password">Password</label>
    </div>
    <div>
        <input type="submit" value="Login">
        <input type="checkbox" id="rememberMe" name="rememberMe">
        <label for="rememberMe">rememberMe</label>
    </div>
    </form>
</section>
</body>
</html>

这是我的部分shiro.ini文件,

authc.loginUrl = /login.jsp
authc.failureKeyAttribute=loginFailure
authc.successUrl  = /index.jsp

# name of request parameter with username; if not present filter assumes 'username'
authc.usernameParam = user
# name of request parameter with password; if not present filter assumes 'password'
authc.passwordParam = pass
# does the user wish to be remembered?; if not present filter assumes 'rememberMe'
authc.rememberMeParam = remember

标签: javajspshiro

解决方案


就放

<shiro:authenticated>
<c:redirect url="index.jsp"/>
</shiro:authenticated>

在您的登录页面中的前几行 html


推荐阅读