What Ken describes is called 'role-based' security. Users have roles,
and security items talk about roles, not users.

http://en.wikipedia.org/wiki/Role-based_access_control

On Tue, Jul 6, 2010 at 3:15 PM, Peter Sturge <peter.stu...@gmail.com> wrote:
> Yes, you don't want to hard code permissions into your index - it will give
> you headaches.
>
> You might want to have a look at SOLR 1872:
> https://issues.apache.org/jira/browse/SOLR-1872 .
> This patch provides doc level security through an external ACL mechanism (in
> this case, an XML file) controlling a filter query,
> This way, you don't need to change the schema - you can even use existing
> indexes, and you can change access control without affecting your stored
> data.
>
> HTH,
> Peter
>
>
> On Tue, Jul 6, 2010 at 5:16 PM, Ken Krugler 
> <kkrugler_li...@transpac.com>wrote:
>
>>
>> On Jul 6, 2010, at 8:27am, osocurious2 wrote:
>>
>>
>>> Someone else was recently asking a similar question (or maybe it was you
>>> but
>>> worded differently :) ).
>>>
>>> Putting user level security at a document level seems like a recipe for
>>> pain. Solr/Lucene don't do frequent update well...and being highly
>>> optimized
>>> for query, I don't blame them. Is there any way to create a series of
>>> roles
>>> that you can apply to your documents? If the security level of the
>>> document
>>> isn't changing, just the user access to them, give the docs a role in the
>>> index, put your user/usergroup stuff in a DB or some other system and
>>> resolve your user into valid roles, then FilterQuery on role.
>>>
>>
>> You're right, baking in too fine-grained a level of security information is
>> a bad idea.
>>
>> As one example that worked pretty well for code search with Krugle, we set
>> access control on a per project level using LDAP groups - ie each project
>> had some number of groups that were granted access rights. Each file in the
>> project would inherit the same list of groups.
>>
>> Then, when a user logs in they get authenticated via LDAP, and we have the
>> set of groups they belong to being returned by the LDAP server. This then
>> becomes a fairly well-bounded list of "terms" for an OR query against the
>> "acl-groups" field in each file/project document. Just don't forget to set
>> the boost to 0 for that portion of the query :)
>>
>> -- Ken
>>
>> --------------------------------------------
>> Ken Krugler
>> +1 530-210-6378
>> http://bixolabs.com
>> e l a s t i c   w e b   m i n i n g
>>
>>
>>
>>
>>
>



-- 
Lance Norskog
goks...@gmail.com

Reply via email to