zeynab
4 سال پیش توسط zeynab مطرح شد
7 پاسخ

logout کردن با vue

سلام دوستان عزیز
من میخوام بلافاصله بعد از تغییر یوزر پسورد اتومات لاگ اوت کنم چجوری شرط بزارم با ویو جی اس؟؟

Component.vue

 methods: {
            userLogOut(e) {
                e.preventDefault();
                this.$store
                    .dispatch('LogOut')
                    .then(() => this.$router.push({name: "login"}));
            },
            onFileChange(e){
                this.file = e.target.files[0];
            }, },
            submitForm_2(  ) {
                var  currentObj=this;
                var id =this.$route.params.id;
                const formData = new FormData();
                formData.append('_method', 'PUT');
                formData.append('formData', 2);
                formData.append('api_token', this.api_token);
                formData.append('password', this.password);
                formData.append('email', this.user.email);

                this.axios
                    .post('/api/v1/users/'+id,formData)

                    .then(function (response) {
                        toastr.success("اطلاعات با موفقیت ثبت شد . ");
                        // currentObj.$router.push({name:'users'});
                        this.userLogOut(e);

                    }.bind(this))
                    .catch(function (error) {
                        currentObj.output = error;
                    }).finally(() => this.loading = false);

            },

UserController

 if($request->formData==2){
            $validData = $this->validate($request, [
                'email' => 'required|string|max:255',
                'password' => 'required|string|min:6',
            ]);
            return   User::where('id', $id)
                ->update([
                    'email'=>$validData['email'],
                    'password'=>bcrypt($validData['password']),
                    'api_token' => Str::random(100)
                  ]);

        }

        auth()->logout();

ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
0

درود بر شما آیا وبسایت شما به شکل api داره از backend استفاده میکنه ؟ یا در یک وبسایت mpa دارید از vue استفاده میکنید ؟


zeynab
@zeynab.khayat 4 سال پیش آپدیت شد
0

سلام دوست عزیز بله باapi کار میکنه
@hesammousavi


سهیل حیدری
@hbr 4 سال پیش مطرح شد
0

@zeynab.khayat
سلام معمولا زبان بک اند خودش ماژول احراز هویت دارن که باید سمت بک اند این کارو انجام بدید مثلا تو نود داریم
passport و خیلی ماژول دیگه.
حالا شما هم ماژول احراز هویت زبان بک اند تون رو پبدا کنید این موردی که تغییر پسورد هستش رو خودش هندل میکنه و خیلی موارد دیگه.


zeynab
@zeynab.khayat 4 سال پیش مطرح شد
0

ممنونم 🙏 احراز هویت انجام میشه با پک های لاراول اما نمیخام از پاسپورت و... استفاده کنم فقط ی شرط میخوام بزارم چون هر شرطی گذاشتم متاسفانه جواب نگرفتم،اطلاعات تو دیتابیس چینج میشه اما بلافاصله لاگ اوت نمیشه.. این برام مهمه ک سریع لاگ بشه

@khosravi424


سهیل حیدری
@hbr 4 سال پیش آپدیت شد
0

@zeynab.khayat
خب ببینید 2 تا راه حل دارین:
1-اگه از ماژول های احراز هویت استفاده میکنید همونجایید که پسورد توی بک اند عوض میشه بگین در صورت موفقیت آمیز بودن تغییر رمز لاگ اوت شه مثلا تو نود جی اس تابعی داریم به نام logout و این رو هم اضافه کنم که کلیه session های مربوط به لاگین رو پاک کن
2-چون یوز و پس کاربر در کوکی ذخیره میشه دوباره عمل auth رو انجام بدید یعنی از کوکی بخونید یوزر و پس رو و چکش کنید.


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

داخل UserControlelr و داخل if statement شما داری نتایج کوئری رو return میکنی
به این ترتیب auth()->logout اجرا نمیشه.


zeynab
@zeynab.khayat 4 سال پیش مطرح شد
0

@ali.bayat
نه دقیقا همینو گذاشتم جواب نگرفتم


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام