Design question: User objects and a Role object

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Anthony Smith

    Design question: User objects and a Role object

    I have a user object that is set when a user logs in. There are also
    permissions that I get about the user from a web service. Currently I
    take the results from those web services and store them as XML in the
    user object so I can parse it when I need to look at them. I wanted to
    turn the xml permissions into ROle objects, but does that mean that my
    User class needs to make reference to the Role class?

    User class example

    class User{

    protected $firstName;
    protected $lastName;
    protected $employeeNumber ;
    protected $orgCode;
    protected $roles; //Could this be an object of my class Role?
    protected $scope;
    protected $type;
    protected $primaryAssignm entsXML = null;
    protected $securityRolesX ML = null;

    .... getters ad setters



    getRole(roleNam e){
    //get the securityRolesXM L and then parse it setting the Role
    Object

    $role = new Role();
    $role->setName();
    $role->setFunction( );


    return $role;
    }


    Is this how I should be going about this?
  • R. Rajesh Jeba Anbiah

    #2
    Re: Design question: User objects and a Role object

    On Oct 9, 9:31 pm, Anthony Smith <mrsmi...@hotma il.comwrote:
    I have a user object that is set when a user logs in. There are also
    permissions that I get about the user from a web service. Currently I
    take the results from those web services and store them as XML in the
    user object so I can parse it when I need to look at them. I wanted to
    turn the xml permissions into ROle objects, but does that mean that my
    User class needs to make reference to the Role class?
    >
    User class example
    >
    class User{
    >
    protected $firstName;
    protected $lastName;
    protected $employeeNumber ;
    protected $orgCode;
    protected $roles; //Could this be an object of my class Role?
    protected $scope;
    protected $type;
    protected $primaryAssignm entsXML = null;
    protected $securityRolesX ML = null;
    >
    .... getters ad setters
    >
    getRole(roleNam e){
    //get the securityRolesXM L and then parse it setting the Role
    Object
    >
    $role = new Role();
    $role->setName();
    $role->setFunction( );
    >
    return $role;
    }
    >
    Is this how I should be going about this?
    Theoretically looks ok. But, practically you'll end up deeper
    object chains which might need caching to improve performance.

    --
    <?php echo 'Just another PHP saint'; ?>
    Email: rrjanbiah-at-Y!com Blog: http://rajeshanbiah.blogspot.com/

    Comment

    • Jerry Stuckle

      #3
      Re: Design question: User objects and a Role object

      Anthony Smith wrote:
      I have a user object that is set when a user logs in. There are also
      permissions that I get about the user from a web service. Currently I
      take the results from those web services and store them as XML in the
      user object so I can parse it when I need to look at them. I wanted to
      turn the xml permissions into ROle objects, but does that mean that my
      User class needs to make reference to the Role class?
      >
      Yes, the user will have zero or more roles, so it has to be able to
      access the role class.
      User class example
      >
      class User{
      >
      protected $firstName;
      protected $lastName;
      protected $employeeNumber ;
      protected $orgCode;
      protected $roles; //Could this be an object of my class Role?
      protected $scope;
      protected $type;
      protected $primaryAssignm entsXML = null;
      protected $securityRolesX ML = null;
      >
      .... getters ad setters
      >
      >
      >
      getRole(roleNam e){
      //get the securityRolesXM L and then parse it setting the Role
      Object
      >
      $role = new Role();
      $role->setName();
      $role->setFunction( );
      >
      >
      return $role;
      }
      >
      >
      Is this how I should be going about this?
      >
      Yes, it $roles could be an object of type Role. But also bear in mind a
      user may have several roles - i.e. authorized user, power user, admin,
      etc., each with its own permissions. You'll want to plan for this, also.

      Of course, if you have a straight hierarchy (each higher role includes
      all of the permissions of all the roles below it), then you could get by
      with only one role. But that can be hard to change if you should have
      to someday create a role which doesn't match that hierarchy.


      --
      =============== ===
      Remove the "x" from my email address
      Jerry Stuckle
      JDS Computer Training Corp.
      jstucklex@attgl obal.net
      =============== ===

      Comment

      Working...