Conflicting access rules

Sutharsan - September 15, 2006 - 21:13
Project:Path Access
Version:4.7.x-1.x-dev
Component:Code
Category:bug report
Priority:normal
Assigned:budda
Status:closed
Description

First of all, thanks for the development efforts.

I have the following roles and access setup:

* Anonimous: no access to path members
* Authenticated: no access to path members
* Member: access to all path

Member can get no get access to members path.

I can not get the thing working. I'v been looking around in the code and it seems that in the conflict between Authenticated and Member the restriction prevails. Theirefore no access. Is this conclusion correct?
module code: line 48 ($visibility = $role->visibility AND $visibility;)

The requirement of the role_weight module gave me the impression that the role weight is taken into account when evaluating the access rules, but I van find no trace of this. Neither in the function, nor in the code. Please explain. If the weight plays a role, please include this in the documentation.

An other note: please include a version number or date in the documentation.

#1

budda - September 17, 2006 - 23:26

The role weight stuff is only in the current CVS version of the module and has not been backported to 4.7 because it's not been tested a lot - and the role_weights module API was changing around a little.

Please report here if it works okay from CVS.

#2

Sutharsan - September 18, 2006 - 12:56

cvs version works fine. Tanks.

Found this in .module:

$role = module_invoke('role', 'weights_get_highest', $user->roles);

shouldn't this be:
$role = module_invoke('role_weights', 'get_highest', $user->roles);

Oh, well. It works just the same.

#3

budda - September 18, 2006 - 13:00
Component:Miscellaneous» Code
Category:support request» bug report
Assigned to:Anonymous» budda
Status:active» fixed

Good spot. Don't know how it was working! Have updated CVS to change this error.

#4

Anonymous - October 2, 2006 - 13:07
Status:fixed» closed
 
 

Drupal is a registered trademark of Dries Buytaert.