<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Wed, 19 Jun 2013 00:49:19 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Rob Allen: Integrating BjyAuthorize with ZendNavigation]]></title>
      <guid>http://www.phpdeveloper.org/news/18777</guid>
      <link>http://www.phpdeveloper.org/news/18777</link>
      <description><![CDATA[<p>
<i>Rob Allen</i> has <a href="http://akrabat.com/zend-framework-2/integrating-bjyauthorize-with-zendnavigation/">posted a technique</a> for integrating the <a href="https://github.com/bjyoungblood/BjyAuthorize">BjyAuthorize</a>, a helpful module for access control in your Zend Framework 2 application, with the ZendNavigation module for user permissions-based navigation updates.
</p>
<blockquote>
If you are using <a href="https://github.com/bjyoungblood/BjyAuthorize">BjyAuthorize</a> for ACL configuration and want to use ZendNavigation's ZendAcl integration features, then you need to set the Acl and Role information into ZendNavigation.
</blockquote>
<p>
He includes the code you'll need to add to both the bootstrap of your application and the configuration to set up the "rule_providers" and "resource_providers". Then you can update your navigation settings to include "resource" and "rule" options to define with options a user can see.
</p>]]></description>
      <pubDate>Tue, 20 Nov 2012 13:57:09 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Joshua Thijssen's Blog: Symfony2: Implementing ACL rules in your Data Fixtures]]></title>
      <guid>http://www.phpdeveloper.org/news/18175</guid>
      <link>http://www.phpdeveloper.org/news/18175</link>
      <description><![CDATA[<p>
<i>Joshua Thijssen</i> has a new post to his blog looking at a method for <a href="http://www.adayinthelifeof.nl/2012/07/04/symfony2-implementing-acl-rules-in-your-data-fixtures/">setting up ACL rules in fixtures</a> for your Symfony2-based applications.
</p>
<blockquote>
Doctrine's DataFixtures are a great way to add test data to your application. It's fairly easy to get this going: Create a fixureLoader that extends DoctrineCommonDataFixturesAbstractFixture, had a load() method and off you go. However, sometimes you want your data also to be protected by Symfony 2&#8242;s ACL layer. Since there isn't a common way to do this, here is one way on how I implemented this.
</blockquote>
<p>
His method uses the ContainerAware interface on the fixture loader instance to be able to get at the container for the fixture. This allows you to use the usual ACL handling methods of the framework to provide restrictions based on things like usernames and roles.
</p>]]></description>
      <pubDate>Wed, 04 Jul 2012 16:33:23 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Developer.com: Creating a Custom ACL in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17946</guid>
      <link>http://www.phpdeveloper.org/news/17946</link>
      <description><![CDATA[<p>
On Developer.com there's a recent tutorial showing you how to <a href="http://www.developer.com/lang/php/creating-a-custom-acl-in-php.html">create a basic access control list</a> in PHP (not in any specific framework). It allows you to define not only user permissions but groups and group permissions as well.
</p>
<blockquote>
So, what are the advantages of an ACL model? The first advantage is security. Using this model will make your application more secure and less vulnerable to exploits. When securing any program, it is good to give to the user only the privileges he/she needs. That means that, for example, you should not give super administrator privileges to someone who will only manage website content. The ACL security model allows you to do just that. The second advantage is the easiness of user management. You can divide users into groups, while each group has certain access permissions. Also, you can easily add new user groups, delete the old ones or change group permissions.
</blockquote>
<p>
They include the database structure you'll need to make the backend work (four tables) and the code to create an "Acl" class with methods to check a user+group for a permission, get the permissions for a user and get the permissions for a group. It's a pretty simple system and has a lot more that could be added to it to make it more robust, but it's a good start.
</p>]]></description>
      <pubDate>Fri, 11 May 2012 10:53:23 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Refulz.com: CakePHP AclComponent - ACOs, AROs and Mapping]]></title>
      <guid>http://www.phpdeveloper.org/news/17605</guid>
      <link>http://www.phpdeveloper.org/news/17605</link>
      <description><![CDATA[<p>
On the Refulz blog they've posted <a href="http://php.refulz.com/cakephp-aclcomponent-acos-aros-and-mapping/">the next in their series</a> about access control in CakePHP applications. In this new article they look at Access Request Objects (AROs) and Access Control Objects (ACOs) and how they can be managed via the built-in ACL functionality.
</p>
<blockquote>
Continuing with Access Control Lists, we will read about the two Access Control Lists and their mapping. The Access Request Objects (AROs) are a list of the things that seek permissions and the Access Control Objects (ACOs) are the resources on which permissions are required. Both the lists are maintained in the tow tables, namely aros and acos respectively.
</blockquote>
<p>
Included in the post is the SQL you'll need to create the tables for the system to use as well as some basic code to use the AclComponent with the ACOs/AROs. They also show how to use the parentNode method to create parent/child relationships between the objects.
</p>]]></description>
      <pubDate>Wed, 29 Feb 2012 11:38:12 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Project: Warden: A user database authorization package for FuelPHP]]></title>
      <guid>http://www.phpdeveloper.org/news/16929</guid>
      <link>http://www.phpdeveloper.org/news/16929</link>
      <description><![CDATA[<p>
<a href="http://fuelphp.com">Fuel framework</a> users have another option when it comes to user authentication management in their applications. <i>Ando</i> has released <a href="http://dre1080.github.com/warden/">Warden</a>, a package that manages logins, password hashing and user ACLs.
</p>
<blockquote>
Warden is a user database authorization package for the FuelPHP framework that aims to fast track development by handling the work load of uthenticating user's. Built for performance, it comes with a ready-to-use user model and database install script.
</blockquote>
<p>
The package uses <a href="http://php.net/bcrypt">bcrypt</a> for password hashing and also provides features for forgotten passwords, password resets and "remember me" functionality. Installation is as simple as adding it to your "always_load" package list and setting up a few configuration options. Sample code for its features is included. You can get the latest version <a href="https://github.com/dre1080/warden">directly from github</a>.
</p>]]></description>
      <pubDate>Thu, 29 Sep 2011 12:19:41 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NETTUTS.com: How to Use CakePHP's Access Control Lists]]></title>
      <guid>http://www.phpdeveloper.org/news/14881</guid>
      <link>http://www.phpdeveloper.org/news/14881</link>
      <description><![CDATA[<p>
On NETTUTS.com today there's <a href="http://net.tutsplus.com/tutorials/php/how-to-use-cakephps-access-control-lists/">a new detailed tutorial</a> on how to use the access control list functionality that comes with the <a href="http://cakephp.org">CakePHP</a> framework.
</p>
<blockquote>
If you're building a CMS, you'll probably need different user roles'"superusers, admins, users - with different permission levels. Too complicated to code? Enter <a href="http://cakephp.org/">CakePHP</a>'s ACL (Access Control Lists). With the right setup, you'll be checking user permissions with just one line.
</blockquote>
<p>
They talk about what "access control lists" are but shows you an example of one including the database tables and the full scripts for the Users controller, a model to hook into the database and the view for output to the user. They include methods for denying access, checking permissions, and modifying a user's permissions.
</p>]]></description>
      <pubDate>Fri, 30 Jul 2010 15:13:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Juozas Kaziukenas' Blog: ACL made easy. Part 1]]></title>
      <guid>http://www.phpdeveloper.org/news/14232</guid>
      <link>http://www.phpdeveloper.org/news/14232</link>
      <description><![CDATA[<p>
<i>Juozas Kaziukenas</i> has posted the first part in his look at <a href="http://dev.juokaz.com/php/acl-made-easy-part-1">making ACL easy</a> (access control lists). His examples are more specific to the <a href="http://framework.zend.com/manual/en/zend.acl.html">Zend_Acl</a> component of the Zend Framework, but the concepts can be translated across several different ACL tools out there.
</p>
<blockquote>
Every now and then I see questions about <a href="http://en.wikipedia.org/wiki/Access_control_list">ACL</a> and how to use it. A lot of web developers are using it without actually knowing what it is and how it works, even though it's powering one of the most important part of applications - user access management.
</blockquote>
<p>
He starts off with the base level of what an ACL is and how it would work in your application (illustrated by a wrong and right way to handle a simple permission in an application). He talks about roles, resources and privileges as well as how applications using the MVC design pattern make it simple to check the current resource. He also mentions an issue that could be confusing - inheritance.
</p>]]></description>
      <pubDate>Tue, 23 Mar 2010 10:38:52 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NETTUTS.com: A Better Login System]]></title>
      <guid>http://www.phpdeveloper.org/news/12229</guid>
      <link>http://www.phpdeveloper.org/news/12229</link>
      <description><![CDATA[<p>
In <a href="http://net.tutsplus.com/tutorials/php/a-better-login-system/">this recent tutorial</a> from NETTUTS.com they show how to create a "better login system" that supports a bit of access control functionality to even further secure your site.
</p>
<blockquote>
Net.tuts+ has published several great tutorials on user login systems. Most tutorials only deal with authenticating the user, which allows for two levels of security: logged in and not logged in. For many sites, a finer degree of control is needed to control where users can go and what they can do. Creating an access control list (ACL) system will give you the flexibility for granular permissions.
</blockquote>
<p>
They walk you through the database creation (user information), coding the ACL and user authentication classes, how to check a user's permissions and how to create a user admin screen to allow for easy maintenance. You can find the complete source of the tutorial <a href="http://nettuts.s3.amazonaws.com/232_customSiteAccess/download.zip">here</a>.
</p>]]></description>
      <pubDate>Mon, 30 Mar 2009 07:55:54 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Jani Hartikainen's Blog: Zend_Acl part 1: Misconceptions and simple ACLs]]></title>
      <guid>http://www.phpdeveloper.org/news/11907</guid>
      <link>http://www.phpdeveloper.org/news/11907</link>
      <description><![CDATA[<p>
<i>Jani Hartikainen</i> has started off a new series that looks specifically at the <a href="http://framework.zend.com/manual/en/zend.acl.html">Zend_Acl</a> component of the Zend Framework starting with <a href="http://codeutopia.net/blog/2009/02/06/zend_acl-part-1-misconceptions-and-simple-acls/">this new post</a> looking at a few of the misconceptions surrounding the component.
</p>
<blockquote>
I'm going to be writing a weekly series of posts on Zend_Acl. This first post will clear up some common misconceptions regarding Zend_Acl, introduce creating ACLs for simple applications, and give some examples on using the ACL in both non-Zend Framework and Zend Framework applications.
</blockquote>
<p>
To show the most basic usage (and set a foundation for future articles), he creates a simple ACL system for a Zend Framework application. The system sets up a few different roles (guest, member) and some rules to show who can access what. He ties this into his preDispatch method in his My_Plugin_Acl plugin so that it runs right before the rest of the request is processed. If the user is not allowed, it kicks them other to the authentication controller for them to log in.
</p>]]></description>
      <pubDate>Mon, 09 Feb 2009 07:55:57 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthew Weier O'Phinney's Blog: Applying ACLs to Models]]></title>
      <guid>http://www.phpdeveloper.org/news/11623</guid>
      <link>http://www.phpdeveloper.org/news/11623</link>
      <description><![CDATA[<p>
<i>Matthew Weier O'Phinney</i> has a <a href="http://weierophinney.net/matthew/archives/201-Applying-ACLs-to-Models.html">new post</a> today looking at how you can integrate access control list (ACL) functionality into your Zend Framework application's models.
</p>
<blockquote>
In my last post, I <a href="http://weierophinney.net/matthew/archives/200-Using-Zend_Form-in-Your-Models.html">discussed using Zend_Form as a combination input filter/value object within your models</a>. In this post, I'll discuss using Access Control Lists (ACLs) as part of your modelling strategy. ACLs are used to indicate who has access to do what on a given resource. In the paradigm I will put forward, your resource is your model, and the what are the various methods of the model. If you finesse a bit, you'll have "user" objects that act as your who. 
</blockquote>
<p>
He looks at the Zend_Acl component and how to extend your model with it to work with roles in a sample BugTracker application providing an abstraction interface to work with identities for your users.
</p>]]></description>
      <pubDate>Wed, 24 Dec 2008 14:18:29 -0600</pubDate>
    </item>
  </channel>
</rss>
