私は問題があります。
Cakephp (バックエンド) と angular js (フロントエンド) を使用してアプリを作成したいと思います。
angular jsからのログインユーザーについてはわかりません。
私のコード:
バックエンド - appController
class AppController extends Controller {
public $components = array(
'Session',
'RequestHandler',
'Cookie',
'Auth' => array(
//'loginRedirect' => array('controller' => 'index', 'action' => 'home'),
//'logoutRedirect'=> array('controller' => 'index', 'action' => 'home'),
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'username', 'password' => 'password', 'status' => 'enabled'),
'userModel' => 'User',
'scope' => array('User.status' => 'enabled')
)
)
)
);
public $helpers = array ('Html','Session','Js','Form');
}
バックエンド - usersController
class UsersController extends AppController {
public function beforeFilter() {
$this->Auth->allow('register');
$this->Auth->fields = array(
'username' => 'username',
'password' => 'secretword',
);
}
public function login() {
if ($this->request->is('post')) {
if ($this->Auth->login()) {
$this->User->id = $this->Auth->user('id');
$this->User->saveField('last_login', date('Y-m-d H:i:s') );
die("Logged");
}
}
throw new ForbiddenException("You are not authorized to access that location.");
}
フロントエンド - userSv
var login = function(data) {
var deferred = $q.defer();
var params = {
"params":{
"plugin":null,
"controller":"users",
"action":"login",
"named":[],
"pass":[],
"isAjax":false
},
"data":{"User":{"username":data.username,"password":data.password}},
"query":[],
"url":"users\/login",
"base":"",
"webroot":"\/",
"here":"\/users\/login"
};
console.log(params);
$http({method: 'POST', url: '/users/login',data:params}).
success(function(data, status, headers, config) {
console.log("success");
//console.log(data);
console.log(status);
console.log(headers);
console.log(config);
}).
error(function(data, status, headers, config) {
console.log("error");
//console.log(data);
console.log(status);
console.log(headers);
console.log(config);
});
return deferred.promise;
}
だから、情報を送った後、私は得る:
「その場所にアクセスする権限がありません。
エラー: 要求されたアドレス '/users/login' は、このサーバーで見つかりませんでした。"
何か考えはありますか?