You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by "S. Levent Yilmaz" <le...@gmail.com> on 2011/07/07 18:11:53 UTC

[users@httpd] per location group based authentication

Hi all,

I am trying to setup URI based authentication, and am not sure if this
is doable. Currently, manually set permissions look like (omitting all
non-pertinent config details):

<Location /git/foo>
  Require group foo
</Location>

<Location /git/bar>
  Require group bar
</Location>

...

Is there anyway to do this automatically, where the group name is
derived from the URI somehow?

Let me provide some more details in order to explain the context
better.  I am trying to setup a simple CGI  based Git service over
http.  The question as you can see is not about Git at all, and
therefore could be relevant to any other CGI based service or similar.
Git server setup looks like:

ScriptAlias /git/   /usr/lib/git-core/git-http-backend/
<Location /git/>
   SetEnv GIT_PROJECT_ROOT /var/www/git
   # authentication settings
</Location>

where, each request in the form "http://myserver.com/git/foo" or
"http://myserver.com/git/bar" is handled by git-http-backend to serve
the git repositories "/var/www/git/foo" and "/var/www/git/bar",
respectively.  I ran into this road block of setting up authentication
per repository basis. Hence the question.

Thank you very much!

- Levent

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] per location group based authentication

Posted by "S. Levent Yilmaz" <le...@gmail.com>.
Hi again,

Apologies for the double post. The question was to set  "Require group
<group-name>" for a dynamically set group-name, based on directory/location
where the Require is specified.  One potential answer was to set an
(environment?) variable via mod_rewrite.  That is possible of course, but it
seems that using variables with Require directive is not possible.

I appreciate any guidance on this,

Thank you!
- Levent


On Fri, Jul 8, 2011 at 1:39 AM, S. Levent Yilmaz <le...@gmail.com>wrote:

> Thanks for the response. That seems doable, however, I wasn't able to
> figure out how to use  an (environment) variable with Require
> directive?  I couldn't tell that from the docs
> http://httpd.apache.org/docs/current/en/env.html that this is in fact
> possible; and if it is, how to reference the variable.
>
>
>
>
> On Thu, Jul 7, 2011 at 8:48 PM, Igor Cicimov <ic...@gmail.com> wrote:
> > Have you tried setting a variable and use it as group name? Have a look
> at
> > SetEnvIf and RewriteRule options for setting variables.
> >
> > Igor
> >
> > On Fri, Jul 8, 2011 at 2:11 AM, S. Levent Yilmaz <leventyilmaz@gmail.com
> >
> > wrote:
> >>
> >> Hi all,
> >>
> >> I am trying to setup URI based authentication, and am not sure if this
> >> is doable. Currently, manually set permissions look like (omitting all
> >> non-pertinent config details):
> >>
> >> <Location /git/foo>
> >>  Require group foo
> >> </Location>
> >>
> >> <Location /git/bar>
> >>  Require group bar
> >> </Location>
> >>
> >> ...
> >>
> >> Is there anyway to do this automatically, where the group name is
> >> derived from the URI somehow?
> >>
> >> Let me provide some more details in order to explain the context
> >> better.  I am trying to setup a simple CGI  based Git service over
> >> http.  The question as you can see is not about Git at all, and
> >> therefore could be relevant to any other CGI based service or similar.
> >> Git server setup looks like:
> >>
> >> ScriptAlias /git/   /usr/lib/git-core/git-http-backend/
> >> <Location /git/>
> >>   SetEnv GIT_PROJECT_ROOT /var/www/git
> >>   # authentication settings
> >> </Location>
> >>
> >> where, each request in the form "http://myserver.com/git/foo" or
> >> "http://myserver.com/git/bar" is handled by git-http-backend to serve
> >> the git repositories "/var/www/git/foo" and "/var/www/git/bar",
> >> respectively.  I ran into this road block of setting up authentication
> >> per repository basis. Hence the question.
> >>
> >> Thank you very much!
> >>
> >> - Levent
> >>
> >> ---------------------------------------------------------------------
> >> The official User-To-User support forum of the Apache HTTP Server
> Project.
> >> See <URL:http://httpd.apache.org/userslist.html> for more info.
> >> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> >>   "   from the digest: users-digest-unsubscribe@httpd.apache.org
> >> For additional commands, e-mail: users-help@httpd.apache.org
> >>
> >
> >
>
>

Re: [users@httpd] per location group based authentication

Posted by "S. Levent Yilmaz" <le...@gmail.com>.
Thanks for the response. That seems doable, however, I wasn't able to
figure out how to use  an (environment) variable with Require
directive?  I couldn't tell that from the docs
http://httpd.apache.org/docs/current/en/env.html that this is in fact
possible; and if it is, how to reference the variable.




On Thu, Jul 7, 2011 at 8:48 PM, Igor Cicimov <ic...@gmail.com> wrote:
> Have you tried setting a variable and use it as group name? Have a look at
> SetEnvIf and RewriteRule options for setting variables.
>
> Igor
>
> On Fri, Jul 8, 2011 at 2:11 AM, S. Levent Yilmaz <le...@gmail.com>
> wrote:
>>
>> Hi all,
>>
>> I am trying to setup URI based authentication, and am not sure if this
>> is doable. Currently, manually set permissions look like (omitting all
>> non-pertinent config details):
>>
>> <Location /git/foo>
>>  Require group foo
>> </Location>
>>
>> <Location /git/bar>
>>  Require group bar
>> </Location>
>>
>> ...
>>
>> Is there anyway to do this automatically, where the group name is
>> derived from the URI somehow?
>>
>> Let me provide some more details in order to explain the context
>> better.  I am trying to setup a simple CGI  based Git service over
>> http.  The question as you can see is not about Git at all, and
>> therefore could be relevant to any other CGI based service or similar.
>> Git server setup looks like:
>>
>> ScriptAlias /git/   /usr/lib/git-core/git-http-backend/
>> <Location /git/>
>>   SetEnv GIT_PROJECT_ROOT /var/www/git
>>   # authentication settings
>> </Location>
>>
>> where, each request in the form "http://myserver.com/git/foo" or
>> "http://myserver.com/git/bar" is handled by git-http-backend to serve
>> the git repositories "/var/www/git/foo" and "/var/www/git/bar",
>> respectively.  I ran into this road block of setting up authentication
>> per repository basis. Hence the question.
>>
>> Thank you very much!
>>
>> - Levent
>>
>> ---------------------------------------------------------------------
>> The official User-To-User support forum of the Apache HTTP Server Project.
>> See <URL:http://httpd.apache.org/userslist.html> for more info.
>> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>>   "   from the digest: users-digest-unsubscribe@httpd.apache.org
>> For additional commands, e-mail: users-help@httpd.apache.org
>>
>
>



-- 
S. Levent Yilmaz
Center for Simulation and Modeling
University of Pittsburgh

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] per location group based authentication

Posted by Igor Cicimov <ic...@gmail.com>.
Have you tried setting a variable and use it as group name? Have a look at
SetEnvIf and RewriteRule options for setting variables.

Igor

On Fri, Jul 8, 2011 at 2:11 AM, S. Levent Yilmaz <le...@gmail.com>wrote:

> Hi all,
>
> I am trying to setup URI based authentication, and am not sure if this
> is doable. Currently, manually set permissions look like (omitting all
> non-pertinent config details):
>
> <Location /git/foo>
>  Require group foo
> </Location>
>
> <Location /git/bar>
>  Require group bar
> </Location>
>
> ...
>
> Is there anyway to do this automatically, where the group name is
> derived from the URI somehow?
>
> Let me provide some more details in order to explain the context
> better.  I am trying to setup a simple CGI  based Git service over
> http.  The question as you can see is not about Git at all, and
> therefore could be relevant to any other CGI based service or similar.
> Git server setup looks like:
>
> ScriptAlias /git/   /usr/lib/git-core/git-http-backend/
> <Location /git/>
>   SetEnv GIT_PROJECT_ROOT /var/www/git
>   # authentication settings
> </Location>
>
> where, each request in the form "http://myserver.com/git/foo" or
> "http://myserver.com/git/bar" is handled by git-http-backend to serve
> the git repositories "/var/www/git/foo" and "/var/www/git/bar",
> respectively.  I ran into this road block of setting up authentication
> per repository basis. Hence the question.
>
> Thank you very much!
>
> - Levent
>
> ---------------------------------------------------------------------
> The official User-To-User support forum of the Apache HTTP Server Project.
> See <URL:http://httpd.apache.org/userslist.html> for more info.
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>   "   from the digest: users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
>
>