CakePHP1.2.1.8004 ã§ Authã³ã³ãã¼ãã³ãã¨Scaffoldãä½µç¨ããéã®æ³¨æäºé
Wednesday, 4. February 2009, 01:09:22
ã§ãæ¨æ¥ãã£ã¨ãã1.2.1ã使ãå§ãããããªãã¨Authã§ãã°ã¤ã³ãã¦ãªãã¦ãscaffoldã®ã¢ã¯ã·ã§ã³ãåãã¡ãããããªãã§ããï¼ï¼ãããã¯ã¾ãããã
ãªãèå¿ã®ã»ãã¥ãªãã£ã¢ãããã¼ãã¯ãCakePHP 1.2.1.8004ã¸ã¢ãããã¼ãæ¨å¥¨ãããªã³ã¯ããã¦ãããChangeset 7979ãã®å·®åã®ãããªã®ã§ãä»åã®åé¿çã使ã£ã¦ããåé¡ãªãããã ã¨å¤æãã¦ãã¾ããã¾ãscaffold使ã£ã¦ãªããã°é¢ä¿ãªãã®ã§ããã©ãã
ã§ãåé¡ã®ç®æã¯AuthComponent::startup()ã§
$isErrorOrTests = (
strtolower($controller->name) == 'cakeerror' ||
(strtolower($controller->name) == 'tests' && Configure::read() > 0) ||
!in_array($controller->params['action'], $controller->methods)
);
if ($isErrorOrTests) {
return true;
}
ã¨ããç®æãããã®ã§ããã
!in_array($controller->params['action'], $controller->methods)
ã¨ããã³ã¼ãã®ã$controller->methodsãã«ã¯scaffoldã®ã¢ã¯ã·ã§ã³ãå«ã¾ãã¦ããªããã§ãããããªãã§ã³ã³ããã¼ã©ã«ãããªã¡ã½ãããªããã¨ã©ã¼ãã¼ã¸ã«é·ç§»ãããã¨ãã¦ããã°ã¤ã³ç»é¢ã«ã¯é·ç§»ããªããã§ãããã»ãã¨ã®ã¨ããã¯scaffoldã«é·ç§»ãã¦ãä¸è¦§ã»è¿½å ã»å¤æ´ã»åé¤ãã§ãã¡ããã¨ããããããªæãã§ãã
ãªã®ã§scaffoldãAuthã®ãã°ã¤ã³åä¸ã§ä½¿ã£ã¦ãã人ã¯ãAuthãã$controller->methodsã«å«ã¾ãã¦ãããã©ãããã§ãã¯ã¯å¤ãã¦ãã¾ãã¾ãããã
ãã®å¾ããã£ããæ¬å®¶ãããBakeãã¦ããã¨ããããä¿®æ£ãæããã¦ãã¾ã£ãã®ã§ãAuth使ã人ã¯scaffold使ããªããã$controller->methodsã«beforeFilterã§scaffoldAction追å ããã¨ãï¼ãã¶ãããã¯è¯ããªããã©ï¼ãAuthãç¶æ¿ãã¦å¤ãã¡ããï¼startupã®åã§scaffoldActionãarray_mergeãã¦ãæ»ã£ã¦ãããå ã®å¤ã«æ»ãã°ã»ã»ã»ã¾ããã©ããï¼ã¨ããã®ãããã¾ããã©ï¼ã¨ããã¾ãããããçã¯ããããªï¼ã¨æãã¾ãã
PS: ãã®ã$controller->methodsã§ãããã©ãã§ä½¿ã£ã¦ãã®ï¼ã¨èª¿ã¹ã¦ã¿ãããdispatcherã¨authã ãã§ãããdispatcherã¯å½ç¶ã¨ãã¦ããªãã§authãï¼ï¼ï¼ã¨ãã䏿è°ãªæã¯å¦ããªãã®ã§ãããããã°ã£ããã¯ä»æ¹ãªãã§ãããä»å¾ä½¿ãã¨ããå¢ãããããããªããã








