Sachin B. R.
Sachin B. R.

Reputation: 959

Where does Sitecore stores the security restrictions for an item for each user roles?

I need to know if a user with a specific role has access to a specific item by just using the Sitecore database tables without using Sitecore API. So my question is in which table and in which column is it stored?

Upvotes: 0

Views: 1380

Answers (3)

Geetika Wadhwa
Geetika Wadhwa

Reputation: 39

Security is associated with each individual item and with is in _Security field. This field is shared and is in SharedFields Tables. Each value is separated by pipe. The information related to user roles are being stored in Users table with Role id and Role Name.

Upvotes: 0

Taras Alenin
Taras Alenin

Reputation: 8612

Security is stored against individual items in __Security field. This is a shared field and as such will be in SharedFields table. Security information is actually a pipe delimited list. NOTE: Going directly to the schema is not recommended as it may change at Sitecore's discretion.

SQL below will get the security for all items in the database, update the where clause as required to get security for the items you are interested.

SELECT  Id, ItemId, FieldId, Value, Created, Updated
FROM    SharedFields
WHERE   FieldId = '{DEC8D2D5-E3CF-48B6-A653-8E69E2716641}' /* Guid is the ID of the __Security field */

Result:

8AA88E96-2110-4BE1-A554-BAE9C60536FF    418B3B60-61E2-4E6C-B98F-061C88239087    DEC8D2D5-E3CF-48B6-A653-8E69E2716641    au|sitecore\agency|pd|-item:write|-item:admin|!*|+item:read|-item:delete|-item:create|-item:rename|pe|-item:write|-item:admin|!*|+item:read|-item:delete|-item:create|-item:rename| 2011-03-07 11:48:14.563 2011-03-07 11:48:14.563
06A6DB6C-6DEF-40E0-8CF8-8E179888DBB8    F1AF5582-B6A2-4435-8307-2837C1644EFB    DEC8D2D5-E3CF-48B6-A653-8E69E2716641    au|sitecore\agency|pd|-item:write|-item:admin|!*|+item:read|-item:delete|-item:create|-item:rename|pe|-item:write|-item:admin|!*|+item:read|-item:delete|-item:create|-item:rename| 2011-03-07 11:48:14.270 2011-03-07 11:48:14.270

Upvotes: 5

Mark Ursino
Mark Ursino

Reputation: 31435

The SQL schema is not setup like you may think. The rights are stored on a Sitecore item field and not a specific column in the table. In SQL it will just be part of the XML data for the content item. You could parse that but I don't recommend going directly to SQL. Can you explain why you must do this using SQL?

Upvotes: 0

Related Questions