Questions tagged «http-authentication»


4
CURL访问需要从其他页面登录的页面
我有2页:xyz.com/a和xyz.com/b。我只有在先xyz.com/b登录后才能访问xyz.com/a。如果xyz.com/b不经过其他访问,我只是通过浏览器拒绝访问(没有重定向到登录)。在登录后xyz.com/a,我就可以访问另一个。 我的问题是使用curl命令执行此操作。我可以成功xyz.com/a使用curl 登录,但是尝试xyx.com/b访问后,访问被拒绝。 我使用以下内容: curl --user user:pass https://xyz.com/a #works ok curl https://xyz.com/b #doesn't work 我尝试将第二行与&一起使用,但没有用户/密码部分,但仍然无法正常工作。两个页面都使用相同的CA,所以这不是问题。有什么建议?谢谢

9
使用Node and Express 4的基本HTTP身份验证
使用Express v3实施基本的HTTP身份验证似乎很简单: app.use(express.basicAuth('username', 'password')); 不过,第4版(我使用的是4.2)删除了basicAuth中间件,所以我有点受阻。我有以下代码,但它不会导致浏览器提示用户输入凭据,这正是我想要的(以及我想象的旧方法所做的): app.use(function(req, res, next) { var user = auth(req); if (user === undefined || user['name'] !== 'username' || user['pass'] !== 'password') { res.writeHead(401, 'Access invalid for user', {'Content-Type' : 'text/plain'}); res.end('Invalid credentials'); } else { next(); } });

11
如何隐藏浏览器的身份验证对话框?
我的Web应用程序有一个登录页面,该页面通过AJAX调用提交身份验证凭据。如果用户输入正确的用户名和密码,则一切正常,但如果不正确,则会发生以下情况: Web服务器确定尽管请求中包含格式正确的Authorization标头,但标头中的凭据未成功进行身份验证。 Web服务器返回401状态代码,并包含一个或多个列出受支持的身份验证类型的WWW-Authenticate标头。 浏览器检测到对我对XMLHttpRequest对象的调用的响应是401,并且该响应包含WWW-Authenticate标头。然后,它会弹出一个身份验证对话框,再次询问用户名和密码。 直到步骤3为止,一切都很好。我不想弹出对话框,我想处理AJAX回调函数中的401响应。(例如,通过在登录页面上显示错误消息。)当然,我希望用户重新输入用户名和密码,但我希望他们看到我友好的,令人放心的登录表单,而不是浏览器的默认丑陋外观身份验证对话框。 顺便说一句,我无法控制服务器,因此让它返回自定义状态代码(即401以外的其他内容)不是一种选择。 有什么办法可以禁止身份验证对话框?特别是,我可以在Firefox 2或更高版本中取消“需要身份验证”对话框吗?有什么方法可以抑制IE 6及更高版本中的“连接到[主机]”对话框? 编辑 作者提供的其他信息(9月18日): 我应该补充一点,弹出的浏览器身份验证对话框的真正问题在于,它无法向用户提供足够的信息。 用户刚刚通过登录页面上的表单输入了用户名和密码,他认为自己已经正确输入了二者,并且单击了提交按钮或按Enter。他的期望是他将被带到下一页,或者被告知他输入的信息不正确,应重试。但是,相反,他看到一个意外的对话框。 对话是没有的,他只是一个事实确认没有输入用户名和密码。它没有明确指出存在问题,他应该重试。而是,对话框为用户提供了诸如“网站说:' [领域] '”之类的神秘信息。其中[realm]是只有程序员才能喜欢的简短领域名称。 Web浏览器设计者应注意:如果对话框本身只是更易于使用,则没人会问如何隐藏身份验证对话框。我填写登录表单的全部原因是我们的产品管理团队正确地认为浏览器的身份验证对话框很糟糕。


6
Rails / Rspec使测试通过http基本认证通过
这是我在应用程序控制器文件(application_controller.rb)中的http基本身份验证 before_filter :authenticate protected def authenticate authenticate_or_request_with_http_basic do |username, password| username == "username" && password == "password" end end 和我的家庭控制器的索引操作的默认测试(spec / controllers / home_controller_spec.rb) require 'spec_helper' describe HomeController do describe "GET 'index'" do it "should be successful" do get 'index' response.should be_success end end 由于身份验证方法,测试无法运行。我可以评论“ before_filter:authenticate”来运行它们,但是我想知道是否有办法使它们与该方法一起使用。 谢谢!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.