Advise to develop a rights-control module

Legrand Jérémie jeremie.legrand at atos.net
Mon Sep 19 15:25:16 UTC 2011


Thanks for your answers.

I studied the lua_module which is great but didn't feet my needs. My validation rule is quite complicated and could not be developed only with lua.
Just one comment about this module. Why it is not possible to use ngx.location.capture in set_by_lua directive ? It would be very helpful !

The static module is not called on access phase but is the first content phase handler registered in the nginx configuration (see auto/modules in nginx source). In my case, I could not set my module as the first content handler because it is not in the nginx core.

Finally, I achieved my goal by sending an ngx_http_send_response from my module and setting request keep_alive to 0. It works. Do you think this solution is ok ?



-----Message d'origine-----
De : nginx-devel-bounces at nginx.org [mailto:nginx-devel-bounces at nginx.org] De la part de Valery Kholodkov
Envoyé : dimanche 18 septembre 2011 12:06
À : nginx-devel at nginx.org
Objet : Re: Advise to develop a rights-control module

It should be possible. Look at how static module does it.

Legrand Jérémie wrote:
> Hi,
>
>
>
> I need to develop a module that  check the rights of an user regarding
> to URI parameters.
>
>
>
> User is allowed : I send the request to backend server with proxy_pass
>
> User is not allowed : I need to generate a body response displaying
> information about the error.
>
>
>
> This module should be like access and auth_basic module launched
> during the NGX_HTTP_ACCESS_PHASE but in this phase I can't send a body response.
>
> I tried to declare it has a content handler but, in consequence, it
> does not work with the proxy module which is also a content handler.
>
>
>
> What can I do to develop this kind of module ?
>
>
>
> Thanks by advance for any answer !
>
>
>
> J.Legrand
>
>
> ----------------------------------------------------------------------
> --
>
> Ce message et les pièces jointes sont confidentiels et réservés à
> l'usage exclusif de ses destinataires. Il peut également être protégé
> par le secret professionnel. Si vous recevez ce message par erreur,
> merci d'en avertir immédiatement l'expéditeur et de le détruire.
> L'intégrité du message ne pouvant être assurée sur Internet, la
> responsabilité d'Atos ne pourra être recherchée quant au contenu de ce
> message. Bien que les meilleurs efforts soient faits pour maintenir
> cette transmission exempte de tout virus, l'expéditeur ne donne aucune
> garantie à cet égard et sa responsabilité ne saurait être recherchée
> pour tout dommage résultant d'un virus transmis.
>
> This e-mail and the documents attached are confidential and intended
> solely for the addressee; it may also be privileged. If you receive
> this e-mail in error, please notify the sender immediately and destroy
> it. As its integrity cannot be secured on the Internet, the Atos
> liability cannot be triggered for the message content. Although the
> sender endeavours to maintain a computer virus-free network, the
> sender does not warrant that this transmission is virus-free and will
> not be liable for any damages resulting from any virus transmitted.
>
>
> ----------------------------------------------------------------------
> --
>
> _______________________________________________
> nginx-devel mailing list
> nginx-devel at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel


--
Best regards,
Valery Kholodkov

_______________________________________________
nginx-devel mailing list
nginx-devel at nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel



Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité d'Atos ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.

This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Atos liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.



More information about the nginx-devel mailing list