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
Comment #1
Dave Cohen commentedThanks 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...
Comment #2
dturover commentedThanks 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.
Comment #3
Dave Cohen commentedGlad 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.
Comment #4
Anonymous (not verified) commentedAutomatically closed -- issue fixed for two weeks with no activity.