[ 
https://issues.apache.org/jira/browse/SOLR-1895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Koji Sekiguchi updated SOLR-1895:
---------------------------------

    Attachment: SOLR-1895.patch

Ok, I moved it to core in this patch.

I added test code, but the following test doesn't pass (I cannot understand 
why):

{code}
  @Test
  public void testUserTokens() throws Exception {
    /* this test doesn't work...???
    assertQ(req("qt", "/mcf", "q", "*:*", "fl", "id", "UserTokens", "token2"),
        "//*[@numFound='4']",
        "//result/doc[1]/str[@name='id'][.='d-a12']",
        "//result/doc[2]/str[@name='id'][.='s-d13']",
        "//result/doc[3]/str[@name='id'][.='ds-a23-d1']",
        "//result/doc[4]/str[@name='id'][.='notoken']");
*/
    /* this test doesn't work...???
    assertQ(req("qt", "/mcf", "q", "*:*", "fl", "id", "UserTokens", "token3"),
        "//*[@numFound='2']",
        "//result/doc[1]/str[@name='id'][.='ds-a23-d1']",
        "//result/doc[2]/str[@name='id'][.='notoken']");
*/
    :
  }
{code}

In this patch, I also did:

- remove unused import
- fix indent
- use Java5 for loop
- move Security param (in NamedList) to mcf param (in request parameter 
resolved at runtime)
- check isShard param at the beginning of prepare() to support distributed 
search
- remove redundant ManifoldCFSecurityFilter in log messages
- add the filter to example
- get socket time out parameter from solrconfig.xml


> ManifoldCF SearchComponent plugin for enforcing ManifoldCF security at search 
> time
> ----------------------------------------------------------------------------------
>
>                 Key: SOLR-1895
>                 URL: https://issues.apache.org/jira/browse/SOLR-1895
>             Project: Solr
>          Issue Type: New Feature
>          Components: SearchComponents - other
>            Reporter: Karl Wright
>              Labels: document, security, solr
>             Fix For: 3.5, 4.0
>
>         Attachments: LCFSecurityFilter.java, LCFSecurityFilter.java, 
> LCFSecurityFilter.java, LCFSecurityFilter.java, SOLR-1895.patch, 
> SOLR-1895.patch
>
>
> I've written an LCF SearchComponent which filters returned results based on 
> access tokens provided by LCF's authority service.  The component requires 
> you to configure the appropriate authority service URL base, e.g.:
>   <!-- LCF document security enforcement component -->
>   <searchComponent name="lcfSecurity" class="LCFSecurityFilter">
>     <str 
> name="AuthorityServiceBaseURL">http://localhost:8080/lcf-authority-service</str>
>   </searchComponent>
> Also required are the following schema.xml additions:
>    <!-- Security fields -->
>    <field name="allow_token_document" type="string" indexed="true" 
> stored="false" multiValued="true"/>
>    <field name="deny_token_document" type="string" indexed="true" 
> stored="false" multiValued="true"/>
>    <field name="allow_token_share" type="string" indexed="true" 
> stored="false" multiValued="true"/>
>    <field name="deny_token_share" type="string" indexed="true" stored="false" 
> multiValued="true"/>
> Finally, to tie it into the standard request handler, it seems to need to run 
> last:
>   <requestHandler name="standard" class="solr.SearchHandler" default="true">
>     <arr name="last-components">
>       <str>lcfSecurity</str>
>     </arr>
> ...
> I have not set a package for this code.  Nor have I been able to get it 
> reviewed by someone as conversant with Solr as I would prefer.  It is my 
> hope, however, that this module will become part of the standard Solr 1.5 
> suite of search components, since that would tie it in with LCF nicely.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to