标签: http-authentication

HTTP摘要式身份验证与SSL

从性能,安全性和灵活性的角度来看,HTTP摘要式身份验证和SSL有什么区别?

ssl http-authentication digest

23
推荐指数
2
解决办法
2万
查看次数

Rails:访问用于HTTP Basic Auth的用户名/密码?

我正在构建一个基本API,在该用户的登录名和密码被正确发送后,可以检索用户信息.

现在我正在使用这样的东西:

http://foo:bar@example.com/api/user.xml

所以,我需要做的是访问请求中发送的用户/密码(foobar),但不知道如何在Rails控制器中访问该信息.

然后我通过快速检查这些变量User.find,然后将其设置为用户名和密码变量authenticate_or_request_with_http_basic.

我可能会以完全错误的方式看待这个,但那就是我现在所处的位置.:)

ruby-on-rails http-authentication

20
推荐指数
1
解决办法
1万
查看次数

在烧瓶中使用HTTP auth时的标准401响应

在烧瓶中,我使用以下代码段来启用HTTP身份验证:

def authenticate():
    return Response('<Why access is denied string goes here...>', 401, {'WWW-Authenticate':'Basic realm="Login Required"'})
Run Code Online (Sandbox Code Playgroud)

现在,根据我过去使用Flask的经验,如果某人的凭据不正确,我想让他们知道我可以打电话:

abort(401)
Run Code Online (Sandbox Code Playgroud)

这为您提供了基本的apache 401响应.有谁知道我如何使用上面的代码段实现它?

谢谢

python apache2 http-authentication abort flask

19
推荐指数
2
解决办法
2万
查看次数

如何在PHP中使用基本HTTP身份验证?

我正在尝试使用基本HTTP身份验证,并按照PHP手册页上的示例进行操作.但它对我不起作用.$_SERVER['PHP_AUTH_USER']似乎没有设置变量.当用户尝试登录时,将通过新的登录对话框提示用户.服务器正在运行PHP 5.3.3,我尝试使用谷歌浏览器和Internet Explorer.

这是我使用的简单示例:

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="Jonas Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'User pressed Cancel';
    exit;
} else {
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as you password.</p>";
}
?>
Run Code Online (Sandbox Code Playgroud)

怎么了?如何在PHP中使用基本HTTP身份验证?

php authentication server-variables http-authentication basic-authentication

16
推荐指数
3
解决办法
8万
查看次数

在nginx上使用一次性cookie的非常简单的身份验证

我有一个网站,仅供3名程序员私下使用.它是由nginx直接提供的简单HTML,但旨在用于办公室内外.

我想要一个简单的密码或身份验证方案.我可以使用HTTP身份验证,但这些往往会经常过期,这使人们很难使用.我也很紧张,有人嗅到比饼干更容易.

所以我想知道我是否可以在JavaScript中使用唯一的长ID在浏览器上设置cookie,并以某种方式告诉nginx只接受具有此cookie的请求(对于特定的子域).

这很简单吗?我如何能

  1. 告诉nginx按cookie过滤
  2. 在浏览器中,设置一个永不过期的cookie?

authentication cookies nginx http-authentication password-protection

14
推荐指数
2
解决办法
7563
查看次数

如何使用JQuery AJAX使用HTTP Basic Auth阻止Firefox提示用户名/密码?

我正在编写一些浏览器端动态功能,并使用HTTP Basic Auth来保护一些资源.用户体验非常重要,并且高度定制.

这是一个简单的测试JQuery方法,最终将测试用户是否在表单中提供了正确的凭据:

$(document).ready(function() {
    $("#submit").click(function() {
    var token = Base64.encode($('#username').val() + ':' + $('#password').val());        
    $.ajax({
      url: '/private',
      method: 'GET',
      async: false,
      beforeSend: function(req) {
        req.setRequestHeader('Authorization', 'test:password');
      },
      error: function(request, textStatus, error) {
        if (request.status == 401) {
          alert('401');
        }
      }
    });
    return false;
  });
});
Run Code Online (Sandbox Code Playgroud)

如果不允许他们访问/private,那么他们应该只看到警告框.但是,在Firefox上,会弹出一个浏览器提供的登录表单(使用新凭据重试).Safari不会这样做.

我们希望通过自定义表单,淡入淡出,转换等完全控制体验.如何防止Firefox的默认框显示?(如果我们测试IE时会出现这个问题,我也很乐意听到那里的解决方案.)

javascript firefox jquery http-authentication

13
推荐指数
2
解决办法
2万
查看次数

iPhone上的基本HTTP身份验证

我正在尝试运行一个小型的Twitter客户端,在测试需要身份验证的API调用时遇到了问题.

我的密码中包含特殊字符,因此当我尝试使用以下代码时,它不起作用.

NSString *post = [NSString stringWithFormat:@"status=%@", [status stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@:%@@%@/statuses/update.json", username, password, TwitterHostname]];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];

NSURLResponse *response;
NSError *error;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
Run Code Online (Sandbox Code Playgroud)

我开始研究base64并将身份验证放入标头中.我在他的base64实现中发现了Dave Dribin的帖子,这看起来很有道理.但是,当我尝试使用它时,编译器开始抱怨它无法找到openssl库.所以我读到我需要在libcrypto库中链接,但它似乎不存在于iphone.

我还读过有人说苹果不会允许使用加密库的应用程序,这对我来说没有意义.

所以现在我有点困惑和困惑.在我的应用程序中获取基本身份验证的最简单方法是什么?

干杯

iphone objective-c httpwebrequest http-authentication

13
推荐指数
1
解决办法
2万
查看次数

HTTP身份验证 - WWW-Authenticate标头 - 多个领域

有没有人有任何在HTTP身份验证中支持多个领域的经验?

微软网站声明:

每个身份验证响应头包含可用的身份验证方案和领域.如果支持多种身份验证方案,则服务器返回多个身份验证响应头.领域值区分大小写,并在代理或服务器上定义保护空间.例如,标题"WWW-Authenticate:Basic Realm ="example""将是需要服务器身份验证时返回的标头的示例.

这表明可以使用不同的身份验证方法来保护网站的不同区域.我们感到困惑的是如何确定服务器响应客户端请求时应该声明的域.

有没有人有多个领域如何工作的例子?

http-authentication

13
推荐指数
2
解决办法
9964
查看次数

HTTP BASIC身份验证用户名是否有最大长度?

是否有通过HTTP BASIC身份验证发送到Web应用程序的用户名或密码的最大长度?我浏览了RFC2617并且找不到任何明显的东西,但很好奇并希望确定.

(这都是通过SSL完成的,所以不要担心安全性.)

http-authentication

13
推荐指数
2
解决办法
1万
查看次数

如何在REST Web服务(Java + Jersey)中使用Basic HTTP Auth?

我是REST webservice的新手,刚刚创建了我的第一个web服务.
在我的服务中,用户可以通过简单的表单创建配置文件,提供他想要的用户名和密码.

现在如何在用户登录时检查用户凭据?
我的意思是我有一个简单的表单,验证用户已登录,但如何验证用户何时执行添加/更新/删除的各种配置文件操作?

例如:
在FB中,您登录并存储一个具有您凭据的cookie,当您执行"发布状态"等操作时,向朋友发送消息......等等......它不再要求您的凭据,因为它有一个cookie,你的凭据在那里,它只使用该cookie ...

但是在REST中我们不使用cookie,所以下一个选项是HTTP头.我想知道如何通过HTTP标头发送和接收用户凭据.ie
Basic HTTP Auth

rest jersey http-authentication http-headers

13
推荐指数
1
解决办法
2万
查看次数