After editing a page that has a tac_lite taxonomy tag, the taxonomy-based access restrictions no longer apply to that page. I have to rebuild the permissions to get the restrictions to work again.

Steps to reproduce:

  • Create or have an existing page with a tac_lite security setting.
  • Confirm that the page is invisible to an unauthenticated user.
  • Edit the page and save it. It does not matter if a new revision is created or not.
  • The page is now visible to an unauthenticated user.
  • Go manually rebuild the permissions.

Preferred outcome:

  • Create or have an existing page with a tac_lite security setting.
  • Confirm that the page is invisible to an unauthenticated user.
  • Edit the page and save it. It does not matter if a new revision is created or not.
  • The page should still be invisible to unauthenticated users.

System information:
I am using Drupal 6.4 with tac_lite 6.x-1.2. I believe I experienced the problem in Drupal 6.3 also. PHP version is 4.4.8, OS is MacOSX. I only have a tac_lite taxonomy for the Page content type, if that might matter. Since I don't see this issue in the bug list, I wonder if it might be specific to D6 or to my module setup.

Taxonomy-related modules on my system:

  • tac_lite
  • Taxonomy List
  • Taxonomy Menu (disabled)
  • Tagadelic
  • Taxonomy Image (disabled)

Other non-core modules on my system:

  • ContentProfile (disabled)
  • Archive
  • Event
  • DHTML Menu
  • Diff
  • Iconizer (disabled)
  • Porter Stemmer
  • Switchtheme (disabled)
  • Read More Tweak
  • Captcha

I have also disabled the core Book, Content Translation, Forum, OpenID, Path, Ping, and Throttle modules.

Comments

Dave Cohen’s picture

Thanks for the detailed report. Off hand, I don't know what the problem is. You can install the devel module and devel_node_access, then enable the devel node access block and it will tell you exactly what the node_access table says about your node.

If I can reproduce this, I'll try to fix it. But that will not be until sometime in Sept...

dturover’s picture

Priority: Normal » Minor
Status: Active » Closed (works as designed)

Thanks for pointing me towards the node_access table. Before editing, an affected node has gid=18 and realm=tac_lite. After editing, it goes back to the default gid=0 and realm=all.

The real problem is that I had my security taxonomy set up as a free tagging vocabulary which is not supported by tac_lite. This caused _tac_lite_get_terms(&$node) to return an empty terms list for the $all_tids array used by tac_lite_node_access_records(). I turned off Settings->Tags in the taxonomy configuration (/admin/content/taxonomy) and it works.

Dave Cohen’s picture

Status: Closed (works as designed) » Fixed

Glad you solved it. I could not support free tagging in the original tac_lite. But I don't recall exactly the reason and I haven't checked in quite a while whether it is still impossible. If anyone knows more about it, let me know.

Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.