CakePHP1.2でアクセス制御をするには、ACLコンポーネントを使うようです。
まずは
公式マニュアルを見てみましょう。

アクセス制御リスト(ACL)の公式マニュアル
「指輪物語(ロード・オブ・ザ・リング)」を例に説明してあって、わかりやすい!
使い方
Welcome to CakePHP v1.2.4.8284 Console
---------------------------------------------------------------
App : app
Path: /home/user/root/app
---------------------------------------------------------------
Cake Schema Shell
---------------------------------------------------------------
The following table(s) will be dropped.
acos
aros
aros_acos
Are you sure you want to drop the table(s)? (y/n)
[n] > y
Dropping table(s).
acos updated.
aros updated.
aros_acos updated.
The following table(s) will be created.
acos
aros
aros_acos
Are you sure you want to create the table(s)? (y/n)
[y] > y
Creating table(s).
acos updated.
aros updated.
aros_acos updated.
End create.
1. DROP TABLE IF EXISTS `acos`;
2. DROP TABLE IF EXISTS `aros`;
3. DROP TABLE IF EXISTS `aros_acos`;
4. CREATE TABLE `acos` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`parent_id` int(10) DEFAULT NULL,
`model` varchar(255) DEFAULT NULL,
`foreign_key` int(10) DEFAULT NULL,
`alias` varchar(255) DEFAULT NULL,
`lft` int(10) DEFAULT NULL,
`rght` int(10) DEFAULT NULL, PRIMARY KEY (`id`));
5. CREATE TABLE `aros` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`parent_id` int(10) DEFAULT NULL,
`model` varchar(255) DEFAULT NULL,
`foreign_key` int(10) DEFAULT NULL,
`alias` varchar(255) DEFAULT NULL,
`lft` int(10) DEFAULT NULL,
`rght` int(10) DEFAULT NULL, PRIMARY KEY (`id`));
6. CREATE TABLE `aros_acos` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`aro_id` int(10) NOT NULL,
`aco_id` int(10) NOT NULL,
`_create` varchar(2) DEFAULT '0' NOT NULL,
`_read` varchar(2) DEFAULT '0' NOT NULL,
`_update` varchar(2) DEFAULT '0' NOT NULL,
`_delete` varchar(2) DEFAULT '0' NOT NULL, PRIMARY KEY (`id`),
UNIQUE KEY `ARO_ACO_KEY` (`aro_id`, `aco_id`));
続きはのちほど。。