我正在尝试使用j_security_control为webapp设置登录功能,但是最近当我登录时,我从标题中得到了错误。这是相关的登录jsp:
var brs = $('.beers');
brs.each(function(i) {
if ((i + 1) % 5 == 0) {
$('<div class="divider"></div>').insertAfter(brs[i]);
}
});
它是从标题中调用的:
<div class="loginContainer">
<form role="form" method="POST" action="<%=request.getContextPath()%>/j_security_check">
<c:if test="${not empty param.Retry}">
<div class="errorText">
<p>Login failed. Please try again.</p>
</div>
</c:if>
<div class="username">
<label class="loginText" for="inputUser">User</label>
<input type="text" class="form-control" id="inputUser" placeholder="Username" name="j_username" autofocus>
</div>
<div class="password">
<label class="loginText" for="inputPassword">Password</label>
<input type="password" class="form-control" id="inputPassword" placeholder="Password" name="j_password">
</div>
<div>
<button type="submit" class="btn loginButton" id="loginButton">Login</button>
</div>
</form>
</div>
并在web.xml中定义:
<c:choose>
<c:when test="${not empty pageContext.request.userPrincipal}">
<a id="logout" href="${base}/jsp/login/logout.jsp"
class="fse-hid-small navbartext"
data-ng-class="{'selected': idSelected === 'logout'}"
title="Goodbye!">LOGOUT</a>
</c:when>
<c:otherwise>
<a id="login" href="${base}/jsp/login/login.jsp"
class="fse-hid-small navbartext"
data-ng-class="{'selected': idSelected === 'login'}"
title="Login Here!">LOGIN</a>
</c:otherwise>
</c:choose>
不幸的是,这是在不久前工作的,我不知道什么时候它破了。无论如何我还能做这个工作吗?
答案 0 :(得分:0)
看到没有其他人有解决方案,我设法了一个hacky解决方案来解决这个糟糕的tomcat安全问题。
当您点击该链接时,您将被重定向到您想要访问的登录页面。登录后,您将被重定向到根索引页面。一种解决令人难以置信的恼人安全错误的简单方法,甚至没有帮助。