Как перенаправить на главную страницу при повторном входе пользователя с использованием Apache Shiro и JSP - PullRequest
0 голосов
/ 09 ноября 2018

Я новичок в Apache Shiro и JSP. Прямо сейчас я могу войти, используя Широ. Однако, если пользователь вошел в систему и введет ключ пользователя на странице входа по URL-адресу, например, localhost/testing/login.jsp, система перенаправит пользователя на страницу входа, поэтому пользователь продолжит вводить имя пользователя и пароль, после чего пользователь застрянет. там навсегда, хотя имя пользователя и пароль верны. В моем shiro.ini я поставил authc.successUrl = /index.jsp, он работает для первого входа в систему, но если только что упомянуто scenerio, оно не будет перенаправлять.

Вот форма входа

<%@ 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

1 Ответ

0 голосов
/ 29 ноября 2018

Просто поставь

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

на вашей странице входа первые несколько строк html

...