在没有弹出的情况下在Django中使用Apache身份验证
问题描述:
我正在使用Apache为Django的用户进行身份验证,但是我想这样做时没有Apache在其基本配置中使用的弹出窗体。在没有弹出的情况下在Django中使用Apache身份验证
如何在仍然使用Apache进行身份验证的情况下在页面中嵌入登录表单?
也就是说,我想要一个页面显示“请登录”并提供一个表单询问用户名和密码,并将此信息传递给Apache进行身份验证。 (当然,我会通过SSL连接执行此操作。)
答
请参见:
http://www.peej.co.uk/articles/http-auth-with-html-forms.html
这说明了如何使用一些JavaScript魔术呈现自己的表单HTTP基本验证。如果您使用Google进行足够的搜索,您会发现其他例子。
或者看mod_auth_tkt在:
http://www.openfusion.com.au/labs/mod_auth_tkt/
然而,它使用了自定义Apache模块做了一些魔法。
答
也许您可以使用mod_python或mod_wsgi访问控制在django中执行此操作。
对于mod_wsgi身份验证处理程序,django trac上有一个open ticket。
更多resources关于这个问题。
谢谢。我不确定从Django的身份验证转移到Apache是否值得这么麻烦。 – chernevik 2010-05-21 15:50:30