ユーザーがアプリでユーザー ID とパスワードを使用してログインしているとします。現在、同じユーザー ID とパスワードを使用して、最初のセッションからログアウトせずにログインしようとしています。最初のセッションからログアウトし、新しいセッションを自動的に続行するようにしたいと思います。
Struts2、JSP、Java はテクノロジーであり、アプリに使用しています。
直面している問題
- 新しいタブまたはウィンドウで開くと、同じマシンで同じセッションIDを与えるIE 8。同じマシンからの異なるログインを区別できません。独自のセッション ID を設定するには?
- SBI のサイトのようなバンキング アプリケーションはすべてそのようにしか機能しませんが、リアルタイムでどのように機能しますか?
- SBI 銀行のサイトがオンライン トランザクションで動作するのと同じことを再現したいと考えています。新しいウィンドウで再度開くと、最初のウィンドウでメッセージセッションを送信します
このロギング部分の詳細を教えてください。ありがとう。
これが私のフィルターです
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println("FirstFilter : In filter doFilter before doFilter...");
HttpServletRequest req = (HttpServletRequest) request ;
HttpServletResponse res = (HttpServletResponse) response ;
HttpSession session = req.getSession(false);
String userId=req.getParameter("username");
String password=req.getParameter("password");
System.out.println(" : : " + req.getParameter("username")) ;
System.out.println(" : " + req.getServletPath());
LoggedInUserVO userProfVOSession = null ;
if(session != null) {
String sessionId=session.getId();
userProfVOSession = (LoggedInUserVO)session.getAttribute("LoggedInUser") ;
//check for login id password and session for single user sign in
if(null!=userProfVOSession){
if(userProfVOSession.getUserName().equalsIgnoreCase(userId) && userProfVOSession.getUserPassword().equals(password) && userProfVOSession.getSessionId().equals(sessionId)){
//do nothing
}
else{
System.out.println("in duplicate");
}
}
}
if(userProfVOSession == null) {
if("/populatelogin.action".equals(req.getServletPath()) || "/login.action".equals(req.getServletPath())||"/images/Twalk-Logo-4-green.png".equals (req.getServletPath())||"css/twalk.css".equals( req.getServletPath() )) {
chain.doFilter(req, res) ;
} else {
req.getRequestDispatcher("Entryindex.jsp").forward(req, res) ;
}
} else {
chain.doFilter(req, res) ;
}