رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Rest api در لاگین کردن
#1
درود بر دوستان لاراولی عزیز ، دوستان من میخوام برای لاگین یک وب سرویسی ایجاد کنم که  زمانی که کاربر خواست لاگین کنه اگر با موفقیت لاگین انجام شد یک status و در صورت لاگین نشدن و یا اشتباه بودن رمز عبور و ... یک status  دریافت کنم .

کد وضعیت ها : ۱- موفقیت - ۲- نا موفق


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

در حال حاضر بنده اومدم در فایل : vendor\laravel\framework\src\Illuminate\Foundation\Auth\AuthenticatesUsers.php


در تابع postLogin این کار رو انجام دادم :

کد پی‌اچ‌پی:
protected function handleUserWasAuthenticated(Request $request$throttles)
 
   {
 
       if ($throttles) {
 
           $this->clearLoginAttempts($request);
 
       }

 
       if (method_exists($this'authenticated')) {
 
           return $this->authenticated($requestAuth::user());
 
       }
 
  
      
            if 
(Auth::attempt(['email' => $request->email'password' => $request->password])) {
 
               // Authentication passed...
 
               return Response::json(["status"=>"100 login"]);
 
           }else{return Response::json(["status"=>"101 not login"],206); }
 
      
        return redirect
()->intended($this->redirectPath());
 
   

که وقتی لاگین میشه "status"=>"100 login برمیگردونه ولی اگه رمز عبور اشتباه باشه else  رو احرا نمیکنه و ریدایرکت میکنه . خودم فکر میکنم کار درستی تیست که این فایل رو ادیت  کردم ولی تنها چیزی بود که به ذهنم رسید . ممنون میشم راهنمایی بفرمایید .


با تشکر
کد آن است که خود ببوید نه آن که برنامه نویس بگوید  Cool
پاسخ
#2
دوستان مشکل رو حل کردم گفتم راه حل رو بزارم شاید به درد شماهم خورد گرچه بازم میگم به نظر خودم راه های بهتر دیگه هم هست اگر کسی میدونه پیشنهاد بده


فایل AuthenticatesUsers.php :

کد پی‌اچ‌پی:
public function postLogin(Request $request)
    {
        
$this->validate($request, [
            
$this->loginUsername() => 'required''password' => 'required',
        ]);

        
// If the class is using the ThrottlesLogins trait, we can automatically throttle
        // the login attempts for this application. We'll key this by the username and
        // the IP address of the client making these requests into this application.
        
$throttles $this->isUsingThrottlesLoginsTrait();

        if (
$throttles && $this->hasTooManyLoginAttempts($request)) {
            return 
$this->sendLockoutResponse($request);
        }

        
$credentials $this->getCredentials($request);
        
            
$Api Postman::CheckRequest();
             if (
$Api) {
               if (
Auth::attempt($credentials$request->has('remember'))===false) { 
                    return 
Response::json(["status"=>"2" ,"message"=>" ناموفق"]);
               }
             }
            if (
Auth::attempt($credentials$request->has('remember'))) {
                return 
$this->handleUserWasAuthenticated($request$throttles);
            }
        
        
// If the login attempt was unsuccessful we will increment the number of attempts
        // to login and redirect the user back to the login form. Of course, when this
        // user surpasses their maximum number of attempts they will get locked out.
        
if ($throttles) {
            
$this->incrementLoginAttempts($request);
        }

        return 
redirect($this->loginPath())
            ->
withInput($request->only($this->loginUsername(), 'remember'))
            ->
withErrors([
                
$this->loginUsername() => $this->getFailedLoginMessage(),
            ]);
    } 


کد پی‌اچ‌پی:
protected function handleUserWasAuthenticated(Request $request$throttles)
    {
        if (
$throttles) {
            
$this->clearLoginAttempts($request);
        }

        if (
method_exists($this'authenticated')) {
            return 
$this->authenticated($requestAuth::user());
        }
        
$Api Postman::CheckRequest();
        if (
$Api) {
            if (
Auth::attempt(['email' => $request->email'password' => $request->password])) {
                
// Authentication passed...
                
$userUser::where('id',Auth::user()->id)->with('user_extras')->first();
                return 
Response::json(["status"=>"1","message"=>"موفق","name"=>Auth::user()->name,"family"=>$user->user_extras->family,"id"=>$user->id]);
            }
        }
        return 
redirect()->intended($this->redirectPath());
    } 
کد آن است که خود ببوید نه آن که برنامه نویس بگوید  Cool
پاسخ
 


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  لاگین شدن با موبایل به روش اپلیکیشن های پیام رسان Bvk.Programmer 2 158 08-30-2016, 05:38 AM
آخرین ارسال: ilbeygi
  اعتبار سنجی مدیر و کاربر هنگام لاگین کردن ilbeygi 0 83 08-22-2016, 02:11 PM
آخرین ارسال: ilbeygi
  سفارشی کردن اتنتیکیت لاراول davoodsh 1 90 07-25-2016, 03:47 AM
آخرین ارسال: farik
  ویرایش اطلاعات کاربری که لاگین کرده laravel 4 163 03-17-2016, 04:57 PM
آخرین ارسال: amirhosseini
Sad لاگین و اعتبارسنجی webmaster 1 120 02-15-2016, 05:25 PM
آخرین ارسال: Bvk.Programmer
  decrypt کردن پسورد ؟؟؟ Bvk.Programmer 2 124 02-14-2016, 07:17 PM
آخرین ارسال: hamo
  سریع ترین راه آژاکسی کردن درخواست ها در لاراول AMIR.EMAIL@YAHOO.COM 2 176 02-08-2016, 03:29 PM
آخرین ارسال: smartDeath
  بیشتر کردن زمان Timeout login Bvk.Programmer 2 134 01-23-2016, 04:56 PM
آخرین ارسال: Bvk.Programmer
  آپلود کردن پروژه لاراول 5.1 برروی هاست Cpanel Webdeveloper 6 1,944 01-13-2016, 01:34 AM
آخرین ارسال: amirhosseini
  آپدیت کردن فیلد unique در لاراول ؟ Bvk.Programmer 5 183 12-31-2015, 09:14 PM
آخرین ارسال: amirhosseini

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

درباره انجمن فریم ورک لاراول

انجمن لاراولیستا به عشق توسعه دهنده ها و علاقمندان به این فریم ورک محبوب ایجاد شده و امیدواریم با نظرات خوبتون ما رو در بهبود کار یاری کنید. در ضمن خیلی هم خوشحال میشیم شما هم در توسعه این انجمن سهمی داشته باشید.