View Full Version : بیاد ماندن کاربر
ghamgin
یک شنبه 04 مهر 1395, 08:57 صبح
سلام دوستان من میخواهم در برنامه وقتی کاربر به سرور لاگین کرد و تیک بیاد سپردن رو زد برا دفعات بعدی که وارد برنامه میشه دیگر نیاز به لاگین نباشه و یا پسورد اتومات با وارد کردن نام کاربری در تکست ویو وارد شه
کسی ميدونه چطور؟
hamed_9192
یک شنبه 04 مهر 1395, 14:40 عصر
سلام
بهترین و آسون ترین راه استفاده از SharedPreferences هستش.
مثال:
یه شرط بزارین و بگید در صورتی که لاگین موفقیت آمیز بود با این کدها اطلاعات (نام کاربری و رمز عبور رو در SharedPreferences ذخیره کنه)
private SharedPreferences sp;
sp = getApplicationContext().getSharedPreferences("NameSharedPreferences", 0);
Editor edit = sp.edit();
edit.putString("username",username.getText().toString());
edit.putString("password",password.getText().toString());
edit.commit();
با این کد ها هم میتونید اطلاعات ذخیره شده رو فراخوانی کنید.
private String uname,pass;
uname = sp.getString("username", "");
pass = sp.getString("username", "");
موفق باشید
godofphp
یک شنبه 04 مهر 1395, 22:59 عصر
سلام
بهترین و آسون ترین راه استفاده از SharedPreferences هستش.
مثال:
یه شرط بزارین و بگید در صورتی که لاگین موفقیت آمیز بود با این کدها اطلاعات (نام کاربری و رمز عبور رو در SharedPreferences ذخیره کنه)
private SharedPreferences sp;
sp = getApplicationContext().getSharedPreferences("NameSharedPreferences", 0);
Editor edit = sp.edit();
edit.putString("username",username.getText().toString());
edit.putString("password",password.getText().toString());
edit.commit();
با این کد ها هم میتونید اطلاعات ذخیره شده رو فراخوانی کنید.
private String uname,pass;
uname = sp.getString("username", "");
pass = sp.getString("username", "");
موفق باشید
دوست عزیز
این راه حل اصلا درست نیست چون اطلاعات لاگین رو درون برنامه و دیتای sharedprefs ذخیره میکنه
نه ایمن هست و نه درست
session های ورود و خروج کاربر باید از سمت سرور تنظیم بشه نه در سمت کلاینت
وقتی تیک زده شد باید اون تیک به سرور ارسال شه و سری بعدی سرور بفهمه که لاگین انجام شده یا نشستی وجود داره از قبل و مجدد یوزر پسورد نخاد
ghamgin
دوشنبه 05 مهر 1395, 09:07 صبح
سلام ممنون از هر دو دوست عزیز
من این کد رو برا استفاده از سشن در php در نت پیدا کردم اما نميدونم در برنامه چطور ازش استفاده کنم یعنی این برا دوتا پیج گفته من یک پیج به عنوان سرورم دارم
ممنون میشم راهنمایی کنید
page 1.php
<?php
//This is page 1 and then we will use session that defined from this page:
session_start();
$_SESSION['email']='email@example.com';
?>
Using and Getting session in 2.php
<?php
//In this page I am going to use session:
session_start();
if($_SESSION['email']){
echo 'Your Email Is Here! :) ';
}
?>
hamed_9192
سه شنبه 06 مهر 1395, 12:36 عصر
دوست عزیز
این راه حل اصلا درست نیست چون اطلاعات لاگین رو درون برنامه و دیتای sharedprefs ذخیره میکنه
نه ایمن هست و نه درست
session های ورود و خروج کاربر باید از سمت سرور تنظیم بشه نه در سمت کلاینت
وقتی تیک زده شد باید اون تیک به سرور ارسال شه و سری بعدی سرور بفهمه که لاگین انجام شده یا نشستی وجود داره از قبل و مجدد یوزر پسورد نخاد
با سلام
حرف های شما درست. ولی این یه مثال ساده بود. خیلی کارا میشه در خصوص امنیت کرد و بر اساس پروژه باید راه کار رو تعریف کرد.
مثلا ما در یه پروژه آمدین فقط وضعیت لاگین کاربر رو در SharedPreferences ذخیره کردیم و نه خود اطلاعات لاگین رو. چون مشتری می خواست در صورتی که به اینترنت دسترسی نداشته باشه هم بتونه وارد نرم افزار بشه و از بخش های آفلاین اون استفاده کنه.
راهکار دیگه ای هم که میشه استفاده کرد هش کردن اطلاعات و سپس ذخیره در SharedPreferences هستش.
و .....
اینی هم که شما فرمودین در خصوص ارسال وضعیت لاگین به سرور و برقراری سشن خود اینم باید به خوبی بررسی و پیاده سازی بشه وگرنه مشکل ساز میشه.
برای مثال در نظر بگیرید کاربر در یک گوشی لایگن کرده و در سرور شما هم وضعیت لاگین اکی شده براش و حداقل سشن هم گذاشتین تا یک کفته برقرار باشه. حالا اگه گوشی کاربر عوض بشه چی؟
بر این اساس باید مشخصات گوشی هم ارسال و چک بشه
موفق باشید
ghamgin
پنج شنبه 08 مهر 1395, 08:09 صبح
من میخواهم کاربر بتونه آنلاين اخبار جدید رو بگیره از سرور
و در آپ دیگری نه بتونه آنلاين اطلاعات ی رو بگیره و بعد آفلاين بعدا بتونه باز مطالعه کنه اونها رو
کسی هست بدونه لطف کنه کمکم کنه؟؟؟
ghamgin
چهارشنبه 21 مهر 1395, 09:11 صبح
برا حالت آنلاين بیاد ماندن کاربر چطور ميشه ؟؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.