Find Jobs
Hire Freelancers

PHP Zend Framework 1.12 - Implement ACL to Web Application

$10-30 USD

Stengt
Lagt ut over 4 år siden

$10-30 USD

Betalt ved levering
Hi, I've a PHP Zend Framework 1.12 Web Application that I need to implement ACL ([login to view URL]). The current Web Aplication have a simple authorization method that allows to create users, define passwords and assign the users to a group. This simple authorization method is now insuficient to my needs and I need to implement something more granular. Example of what I need to be able to do: - For the user123 I need to give the following permissions. Run the indexAction() method, Deny createAction() method, Deny DeleteAction() method. - For all users of the group Xyz I need go give the following permissions. Run the indexAction() method, Deny createAction() method, Deny DeleteAction() method. - I need to define and store in the database the functions that each user or each group could Run(have access to). - In the HTML links to the controllers ( indexAction() for example ) in the Web Application I will need to show only controllers with permissions. Now I can only do the following: - If the user123 is logged in he can Run all methods. indexAction(), createAction(), DeleteAction(). Example of a tipical Controller: <?php class CommissionsController extends Zend_Controller_Action { public function init() { // Instantiate Global Models $this->usersModel = new Application_Model_Users(); $this->commissionsModel = new Application_Model_Commissions(); // Get Session Details $this->user_session_details = $this->usersModel->getSessionUserDetails(); if (!$this->usersModel->isAuthenticated()) { $this->_redirect('/Auth/Login'); } } public function indexAction() { $this->view->commissions = $this->commissionsModel->getCommisions(); } public function createAction() { if ($this->_request->isPost()) { $payments_id = $this->_request->payments_id; $comment = $this->_request->comment; // Save to the Database $ins_commission = $this->commissionsModel->insertCommission($payments_id, $comment, $this->user_session_details['id']); // redirect $this->_redirect('/Commissions/'); } $this->view->payments_not_inserted = $this->commissionsModel->getPaymentsNotInserted(); } If you are able to implement the ACL in this Web Application and want to make a proposal, in this proposal tell me how many DB tables you will use. For now I've 2 DB tables, users and users_groups.
Prosjekt-ID: 21731163

Om prosjektet

2 forslag
Eksternt prosjekt
Aktiv 4 år siden

Ønsker du å tjene penger?

Fordeler med budgivning på Freelancer

Angi budsjettet og tidsrammen
Få betalt for arbeidet ditt
Skisser forslaget ditt
Det er gratis å registrere seg og by på jobber
2 freelancers are bidding on average $33 USD for this job
Brukeravatar
Hi, you can do it with 2, 3 or 4 tables depending upon how much control you want. Moreover, Zend_Acl seems to think of Access Control in Roles but, you can also think of Groups as a Role. In case of 2 tables, you'll have user and user_role pivot. In case of 3 tables, you'll have user, role and user_role pivot. In case of 4 tables, you'll have user, role, user_role and role_permissions table. Personally, I would prefer 4 tables. This way you can implement a page where you can add / delete permissions through UI rather than hardcoding it in your Controller or in Application. Let's get in touch so, we can discuss specifics.
$30 USD om 2 dager
5,0 (13 omtaler)
2,9
2,9

Om klienten

UNITED STATESs flagg
Los Angeles, United States
0,0
0
Medlem siden okt. 1, 2019

Klientbekreftelse

Takk! Vi har sendt deg en lenke for at du skal kunne kreve din gratis kreditt.
Noe gikk galt. Vær så snill, prøv på nytt.
Registrerte brukere Publiserte jobber
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Forhåndsvisning innlasting
Tillatelse gitt for geolokalisering.
Påloggingsøkten din er utløpt og du har blitt logget ut. Logg på igjen.