Hallo Zusammen!
Wie vielleicht einige wissen, habe ich lange Zeit an einem binären Rechtesystem gearbeitet. Nun ist es fertiggestellt. Daher suche ich noch ein paar tester, die mir eine Rückmeldung zum Handling der Klasse geben bzw. Anregungen zur Verbesserung geben. Eine mögliche Struktur für die Datenbank und eine Funktionsübersicht seht ihr unten. Die dazugehörige Klasse ist angehängt.
MfG, Andy
Übersicht über die Methoden
__construct() - Is called when the class is instanced
addMod() - Adds a new protected section
delMod() - Removes section from table
getMods() - Returns all section-ids
addUser() - Updates the permissions of an user
delUser() - Removes user from table
editUser() - Changes the data of an user
getUser() - Returns data of the given user
getPerms() - Returns all rights of an user
calcPerms() - Calculates permission integer of an user
check() - Checks access rights
getId() - Returns the id to a user or secured area
Die Datenbank Struktur
Code:
CREATE TABLE `permissions` (
`id` tinyint(4) NOT NULL auto_increment,
`name` varchar(30) NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0;
INSERT INTO `permissions` VALUES (1, 'settings');
INSERT INTO `permissions` VALUES (2, 'articles');
CREATE TABLE `user` (
`id` tinyint(4) NOT NULL auto_increment,
`name` varchar(20) NOT NULL default '',
`password` varchar(32) NOT NULL default '',
`email` varchar(60) NOT NULL default '',
`perm` tinyint(3) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0;
INSERT INTO `user` VALUES (1, 'avedo', 'ddd6acc47c23379394ee7cdcbb4ea22b', 'pseudo@web.de', 30);
INSERT INTO `user` VALUES (2, 'klaus', '0f5f53ea8fe0e8eeb72db72b47ddf351', 'klaus@avedo.net', 14);