ورود

View Full Version : سوال: login



Sh_Asgharian
سه شنبه 07 مهر 1388, 04:37 صبح
سلام
من یه برنامه نوشتم که وقتی کاربر login می کنه اطلاعاتشو ببینه و وقتی logout کرد از سیستم خارج بشه.ولی موقعی که بعد از خارج شدن ، backto رو می زنه،دوباره صفحه اطلاعات بهش نشون داده می شود.با استفاده از session چه تغییری باید بدم که وقتی کاربر خارج شد،با backto نتونه به صفحه اطلاعات برگرده و صفحه login بهش نشون داده بشه؟

java.source.ir
سه شنبه 07 مهر 1388, 13:56 عصر
سلام از کد زیر استفاده کن:


Session.removeValue("Session name that you used for login");

در ضمن همیشه اول صفحه login باید session ایجاد شده را چک کنی که اگر تهی بود اتوماتیک صفحه به صفحه دیگری که از کاربر، کلمه عبور و نام کاربری را بخواهد redirect شود.

Sh_Asgharian
جمعه 10 مهر 1388, 00:06 صبح
سلام از کد زیر استفاده کن:


Session.removeValue("Session name that you used for login");


در ضمن همیشه اول صفحه login باید session ایجاد شده را چک کنی که اگر تهی بود اتوماتیک صفحه به صفحه دیگری که از کاربر، کلمه عبور و نام کاربری را بخواهد redirect شود.

من توی صفحات jsp کد زیر زا گذاشتم ولی زمتنی که کاربر logout می کنه و به صفحه login برمی گرده اگر back را بزنه دوباره صفحه قبلی را که دارای اطلاعاتش بوده نشان می ده.در صورتی که من نمی خوام نشون بده.


<%
if(session.getAttribute("username")==null)response.sendRedirect("HOME.jsp");
%>


لطفا بیشتر راهنماییم کنید.

_jmimi
جمعه 10 مهر 1388, 03:14 صبح
سلام
این کد javascript رو بذار تو صفحه، دیگه back کار نمی کنه :

window.history.go(+1);

java.source.ir
جمعه 10 مهر 1388, 13:35 عصر
من توی صفحات jsp کد زیر زا گذاشتم ولی زمتنی که کاربر logout می کنه و به صفحه login برمی گرده اگر back را بزنه دوباره صفحه قبلی را که دارای اطلاعاتش بوده نشان می ده.در صورتی که من نمی خوام نشون بده.


<%
if(session.getAttribute("username")==null)response.sendRedirect("HOME.jsp");
%>


لطفا بیشتر راهنماییم کنید.

دوست عزیز برای اینکه این مطلب درست جا بیفته به ارائه یک مثال کاربردی ساده می پردازم. امیدوارم مشکلت برطرف بشه.
فرض کنید صفحه ای با نام Login.jsp داریم که در این صفحه قرار است کاربر با وارد کردن نام کاربری و کلمه عبور وارد قسمت مربوط به خود شود. در این صفحه کلیدی با نام "Sigin" وجود دارد که کاربر را به سمت صفحه LoginSection.jsp رهنمون می کند. در صفحه LoginSection.jsp به ایجاد session مربوطه که برای کاربر جاری در صورت درست بودن نام کاربری و کلمه عبور می پردازیم:


session.putValue("UserID",
(String)lo.accDetails.elementAt(i*2));
session.putValue("Status",
(String)lo.accDetails.elementAt(i*2 + 1));

بعد از آن کاربر را به سمت صفحه مربوطه اش با دستور زیر راهنمایی می نماییم:


response.sendRedirect("User.jsp");

در صفحه User.jsp نیز قطعا لینک یا کلیدی با عنوان "خروج از سیستم" وجود دارد که کاربر با کلیک کردن بر آن به سمت صفحه exit.jsp رهنمون می شود.

توجه در صفحه User.jsp باید در ابتدای صفحه کدهای زیر قرار بگیرد:


String u = (String)session.getValue("UserID");
if(u != null &&
!u.equals("")) {
}
else {
response.sendRedirect("Login.jsp");
}

در صفحه exit.jsp نیز کدهای زیر را قرار می دهیم:


session.removeValue("UserID");
session.removeValue("Status");
response.sendRedirect("Login.jsp");

دقت شود در ابتدای صفحه User.jsp باید در قسمت تگ HEAD کدهای زیر نیز قرار بگیرد:


<meta http-equiv="Pragma" content="no cashe">
<meta http-equiv="Cash-control" content="no cashe">
<meta http-equiv="Expires" content="0">

موفق و سربلند باشید.


نکته اگر باز هم مشکلت رفع نشد؛ به بنده اطلاع بده تا برایت یک برنامه ساده که از این روش در حال استفاده است بفرستم.