آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

لاگین نشدن به سرور drupal با کاربر اضافه شده در اندروید

ahmad_r  12 سال پیش  12 سال پیش
0 0

من از طریق برنامه اندروید یک کاربر به سرور drupal ام اضافه می کنم ولی وقتی با همان کاربر میخواهم وارد شوم (به کمک cookie store) خطا میدهد (wrong username and password) و تا موقعی که در سرور پسورد کاربر را تغییر ندهم وارد نمیشود.

یعنی پسوردی که از طریق  برنامه اندروید ثبت شده و برای لاگین میفرستم با پسوردی که در سرور ذخیره می شود فرق دارد (هم عدد و هم رشته رو تست کردم)

کسی میتونه کمکم کنه

    // Log in //

JSONObject json = new JSONObject();
json.put("username", edtUsername.getText().toString().trim());
json.put("password", edtPassword.getText().toString().trim());

StringEntity se = new StringEntity(json.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
httpPost.setEntity(se);

HttpResponse response = httpClient.execute(httpPost);
String jsonResponse = EntityUtils.toString(response.getEntity());

JSONObject jsonObj = new JSONObject(jsonResponse);
session_name = jsonObj.getString("session_name");
session_id = jsonObj.getString("sessid");
token = jsonObj.getString("token");

if (session_name != null) {

// login
}

///////////////////////////////////////


// Sign Up //

try{

JSONObject json = new JSONObject();
json.put("name", edtUsername.getText().toString().trim());
json.put("pass", edtPassword.getText().toString().trim());
json.put("mail", mail.getText().toString().trim());
//json.put("phone", phone.getText().toString().trim());

StringEntity se = new StringEntity(json.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
httpPost.setEntity(se);
httpResponse = httpClient.execute(httpPost);
final String strResponse = EntityUtils.toString(httpResponse.getEntity());
final JSONObject jsonObj = new JSONObject(strResponse);
final String strUid = jsonObj.getString("uid");

// signed up
}
catch (Exception e) {
// sign up error
}

 

0 0
پسورد رو clear ارسال میکنی - سمت سرور اگه مستقیما تو دیتابیس ثبت میکنی مشکل میتونه این باشه که پیش فرض پسورد با الگوریتمی هش میشه (12 سال پیش)
0 0
منظورتون از clear چیه؟ توی هش شدنش که شک ندارم. وارد phpmyadmin شدم کد هش شده رو هم دیدم (12 سال پیش)
0 0
یعنی همون Hash نشده - پسوردتو باید با همون دستوری که دروپال داره هش میکنه هش کنی (12 سال پیش)
0 0
آقای حسین زاده خیلی دیباگر هستید :) - دمتون گرم (12 سال پیش)
0 0
&u - مظلوم نمایی میکنی مجتبی؟ (12 سال پیش)
0 0
واقعا اینکه به این سرعت فکر آدم به اونجا برسه توانایی بزرگیه :) (12 سال پیش)
0 0
منطقی اینکه قبل از ذخیره پسورد اون رو هش کنه و قبل از چک کردن رمز ارسال شده هم، آن را هش کند و با هش ذخیره شده چک کند الان کدام قسمت انجام نمیشود که این مشکل به وجود می آید. (چیزی که من در دیتا بیس دیدم هش شده بود) (12 سال پیش)
0 0
احتمالا sign up متفاوتی داره - 2 تا کاربر رو از طریق برنامه و وب سایت با پسورد یکسان ثبت کن ببین نتیجه یکسان میشه؟ (12 سال پیش)
0 0
اتفاقا این کار را کرده بودم. نه یکسان نیست البته بعد از اینکه از طریق سایت رمز را هم عوض میکنم و مشکل حل میشود باز هم رمزهای هش شده یکسان نیست. (فکر میکنم تابع هش از نام کاربری و ایمیل هم استفاده میکند) (12 سال پیش)
0 0
چیزی به نام سالت لینک هم هست. در مورد نحوه هش شدن پسورد دروپال باید بیشتر بدونی (12 سال پیش)
0 0
ممنون بابت لینک :) - خیلی جالب بود (12 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
ahmad_r  12 سال پیش
0 0

آقای حسین زاده واقعا ممنون

باید یه پچ به دراپال اضافه می شد

لینک


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .