سلام
من یه اپلیکیشن با angularjs دارم که از طریق متد $http به api که براش نوشتم (با php نوشتم، داده ها رو به صورت json بر میگردونه) متصل میشه و داده رد و بدل میکنه
حالا سوال اینه چطور میشه واسه همچین سیستمی لاگین تعریف کرد؟
سلام
من یه اپلیکیشن با angularjs دارم که از طریق متد $http به api که براش نوشتم (با php نوشتم، داده ها رو به صورت json بر میگردونه) متصل میشه و داده رد و بدل میکنه
حالا سوال اینه چطور میشه واسه همچین سیستمی لاگین تعریف کرد؟
سلام
به دو روش میشه این کار رو انجام داد
1. روش اول اینکه یه فایل مثلا به اسم panel.php داشته باشی که نقش یه واسط رو داشته باشه. تو این فایل میگی اگه کاربر لاگین کرده بود صفحه انگولارت لود بشه اگه نکرده بود یه صفحه لاگین به روش معمولی واسش لود بشه. یه جورایی یعنی این که تا کاربر لاگین نشده صفحه انگولار بالا نیاد.
2. اگه که میخوای کلا SPA باشه
script.js
var app = angular.module('test', []);
app.factory('loginFactory', function($http) {
return {
login: function(loginData) {
return $http({
method: 'POST',
url: '/login',
headers: { 'Content-Type' : 'application/x-www-form-urlencoded' },
data: $.param(loginData)
});
}
}
})
app.controller('loginCtrl', function($scope, loginFactory) {
$scope.login = function () {
loginFactory.login($scope.loginForm).then(function (response) {
if(response.data == 'success') {
alert('Authentication Successful')
}
});
}
});
index.html
و یا اینکه از پلاگینا آماده مثل این استفاده کنید.کد HTML:<input type="text" ng-model="loginForm.username"> <input type="password" ng-model="loginForm.password"> <input type="submit" ng-click="login()">
من خودم از روش 1 بیشتر خوشم میاد چون امنیتش بهتره و سمت سرور چک میشه.
در ضمن من تجربه کمی از انگولار دارم شاید اینا که گفتم هیچ کدومشون بهترین روش نباشن مخصوصا اون تیکه کدی که نوشتم.
ممنون از توضیحت
بیشتر مشکلم سر اینه مثلا کاربر بخواد پست ارسال کنه قبلش باید چک شه لاگینه یا نه!! یعنی دسترسی به سژن
خب این کار رو باید با php انجام بدین. اگه لاگین نبود بهش پیغام داده بشه. قبل این که تو دیتابیس سیوش کنید خب چک بکنید فک نکنم مشکلی \یش بیاد
دوست عزیز این روش را برید جلو
1. تعریف کنید که اگه نام کاربری و پسورد وارد شده تو فرم مطابق نام کاربری و پسورد داخل دیتابیس بود بیاد 2 تا سیشن بسازه و لاگین کنه در غییر اینصورت ریدایرکت کنه تو همون صفحه لاگین
2. این سیشن ها را توی تمام صفحات مربوط به پنل کاربری شخص بزار
اینجوری کاربر حتی اگه نام کاربری و پسورد هم نزده باشه و آدرس مستقیم اون صفحه خاص را بزنه نمیتونه ببینه و باید لاگین کنه
امیدوارم تونسته باشم کمکی کرده باشم
اگه هم باز مشکل داشتی با آی دی یاهو من در تماس باش yk5742g
بله میدونم اینارو
مساله اینه که به صورت ریموت ب وبسرویس وصله، مثل یه مرورگر عادی باهاش رفتار میشه؟