我正处于使用Rails 3构建应用程序的早期阶段。用户身份验证由Authlogic提供支持,我已将其设置为标准(as per the example docs),并且所有内容都按预期在本地运行。
我刚刚将应用程序部署到Centos 5.4 / NginX / Passenger的干净服务器安装中,因此工作人员可以开始登录并输入内容等。但是,我们还有很长的路要走,因为这对公众来说已经准备好了所以我使用了NginX的基本身份验证模块来保持整个网站的另一级身份验证。
不幸的是,Authlogic的身份验证和NginX的基本身份验证似乎相互冲突。如果基本身份验证已启用,则无法使用Authlogic登录,但如果禁用基本身份验证,则Authlogic将按预期工作。
我还没有发布任何代码,因为我真的不确定哪些代码是相关的。我想知道这是否是一个已知问题,如果我可以对配置进行任何更改以解决问题?
答案 0 :(得分:13)
我可以回答我自己的问题(在完全错误的地方看了几个小时之后)。 Authlogic::Session::Config
上的一个很好的读数就可以了。
class UserSession < Authlogic::Session::Base
allow_http_basic_auth false
end
答案 1 :(得分:1)
我仍然没有尝试过Rails 3,所以我的回答会更一般。我不知道NginX的基本身份验证模块。
ApplicationController
before_filter :require_login
:),因此只有登录页面可以提供给全世界。 希望它有所帮助!