Iveはカスタムログインシステムでアプリケーションを作成しました。そして、アクセス可能な領域を設定するための独自のセキュリティフィルタを作成しました。しかし、私はいつもログインページにリダイレクトされ、次にインデックスページにはログインしたホームページがリダイレクトされます。私は、セッションIDが、私が制限されているものを使用しようとするときにログインする時と異なることを発見しました。My Java eeアプリケーションでセッションIDが異なる
public class securtityFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
//To change body of implemented methods use File | Settings | File Templates.
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) servletRequest;
// if there is no userBean, then they have not gone through
// the login, so kick them to the login page
if(null==req.getSession().getAttribute("username"))
{
((HttpServletResponse)servletResponse).sendRedirect("../Login.jsp");
System.out.println("Redirected - No session");
}
// otherwise, let them go to the page/resource they want
filterChain.doFilter(servletRequest, servletResponse);
System.out.println("Gone through Filter");
// System.out.println("In Filter Servlet: "+ req.getSession().getId());
}
public void destroy() {
//To change body of implemented methods use File | Settings | File Templates.
}
}
はここに私のweb.xmlファイルである:ここに私のコードです
<filter>
<filter-name>SecurityFilter</filter-name>
<filter-class>filters.securtityFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/add/*</url-pattern>
</filter-mapping>
だから、誰もがこの問題で私を助けることができる場合は、それらしてください。もうコードが必要な場合は、私に知らせてください。事前 で おかげディーン
ログインページでユーザー名属性が設定されていますか? –
ログインサーブレットでYes: while(rs.next()) { HttpSession session = request.getSession(true); 文字列tmp = rs.getString(1); System.out.println(tmp); session.setAttribute( "username"、tmp); /* role = rs.getInt( "level"); session.setAttribute( "role"、role); */ count ++;その後、 } – Dean