راکت

logout کردن با vue

7 پاسخ

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

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();
ثبت پرسش جدید

پاسخ‌ها

7
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

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

zeynab
zeynab
@zeynab.khayat

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

شاید پاسخ شما همین‌جا باشد

سهیل حیدری
سهیل حیدری
@hbr

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

zeynab
zeynab
@zeynab.khayat

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

@khosravi424

سهیل حیدری
سهیل حیدری
@hbr

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

zeynab
zeynab
@zeynab.khayat

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

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

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