HttpSession没有在JSP中返回空会话?

时间:2015-04-25 08:34:51

标签: jsp

我只想在提供正确的身份验证时进入我的页面,但我也能够访问包含该页面URL的页面。请检查错误

<%@ page session="false" %>
<%
if(request.getSession(false)!=null) {   
    String name=(String)session.getAttribute("name");
    String path=(String)session.getAttribute("dp_path");
    String profile_id=(String)session.getAttribute("profile_id");

%>

%html%

<%
} 
else {
        out.println("<font color=red size=4>You are not Logged In</font><br>Please "
            + "<a href=index.jsp>login</a> to access this page"); 
}
%>

我该怎么做才能使其正确无误?

2 个答案:

答案 0 :(得分:1)

您应该检查用户是否已通过身份验证。不是说有会话。这两个事实是无关的:即使用户未经过身份验证,您也可以进行会话。

在身份验证后在会话中放置一些信息,以区分经过身份验证的访问者与未经身份验证的访问者的会话。

答案 1 :(得分:0)

尝试以下代码

<%
HttpSession session = request.getSession();
String name=(String)session.getAttribute("name");
String path=(String)session.getAttribute("dp_path");
String profile_id=(String)session.getAttribute("profile_id");

if(name!=null) {   
%>