Do not disable security component, ajax request works fine with in AppController:
public function beforeFilter() {
if ($this->request->is('ajax')) $this->Security->unlockedActions = array($this->request->action);
}
Ajax works fine is you send data in json format and not html code.
best regards --cesar
El jueves, 14 de junio de 2012 10:20:49 UTC-3, jmail escribió:
-- public function beforeFilter() {
if ($this->request->is('ajax')) $this->Security->unlockedActions = array($this->request->action);
}
Ajax works fine is you send data in json format and not html code.
best regards --cesar
El jueves, 14 de junio de 2012 10:20:49 UTC-3, jmail escribió:
Hi all!I've got a stupid problem :/I am building small chat. I need that for my customer - it's not importandI've got:AppController:<?phpApp::uses('Controller', 'Controller');class AppController extends Controller {
var $uses = array('Config', 'Chat', 'User');
var $helpers = array('Form', 'Html', 'Session');
var $components = array('Session', 'RequestHandler');
var $nonLoginActions = array(
'chat' => array('login')
);
public function beforeFilter() {
parent::beforeFilter();
$this->getConfig();
$this->checkSession();
}
function getConfig(){
$config = $this->Config->find('all');
foreach($config as $element){
Configure::write('config.'.$element['Config']['name'], $element['Config']['value']);
}
}
function checkSession(){
if(isset($this->nonLoginActions[$this-> request->params["controller"]] )){
if(!in_array($this->request->params["action"], $this->nonLoginActions[$this-> request->params["controller"]] )){
if(CakeSession::read("user") === null || CakeSession::read("user") === false){
$this->redirect(array('controller' => 'chat', 'action' => 'login'));
}
}
}
}
}Controller - ChatController<?php/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*//**
* Description of ChatController
*
* @author jmail
*/
class ChatController extends AppController{
var $components = array('Session', 'RequestHandler', 'Security');
function login(){
}
}View - login.ctpLogowanie
<?php echo $this->Form->create('User', array('inputDefaults' => array('label' => false,'div' => false)));?>
<?php echo $this->Form->input('login', array('type' => 'text', 'label' => 'Login'));?>
<?php echo $this->Form->input('pass', array('type' => 'password', 'label' => 'Hasło'));?>
<?php echo $this->Form->end(array('value' => 'Zaloguj się', 'label' => 'Zaloguj się', 'div' => false));?>Layout - default.ctp<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml ">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
echo $this->Html->css('cake.generic');
?>
</head>
<body>
<div id="container">
<div id="header">
<h1>MiniChat</h1>
</div>
<div id="content"><?php echo $this->fetch('content'); ?>
</div>
</div>
</body>
</html>And my problem is:When i go to the http://site/chat/login and press submit button I getThe request has been black-holed
Error: The requested address '/chat/login' was not found on this server.
Everything is empty. What the hell I am doing wrong?
cakephp-cakephp-2.1.3-28-
g645e981
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/groups/opt_out.
No comments:
Post a Comment