标签: http-authentication

Django:一个视图的基本身份验证(避免使用中间件)

我需要提供http-basic-auth一个视图.

我想避免修改中间件设置.

背景:这是一个由远程应用程序填充的视图.

python authentication django http-authentication basic-authentication

12
推荐指数
3
解决办法
2528
查看次数

确定Web http身份验证方法

如何确定REST Web服务是使用Basic,Kerberos,NTLM还是其他许多身份验证方法之一?

http-authentication

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

避免在Chrome扩展程序中使用HTTP身份验证弹出窗口(摘要)

我目前正在开发chrome扩展,我需要访问一些受http-auth保护的资源(webdav).HTTP身份验证使用(在最好的情况下)摘要身份验证.

我可以使用https:// login:password@domain.tld/path/to/ressource表单直接在ajax请求中执行auth .

问题是:如果登录/密码错误,我不能获得401状态(未经授权),Chrome会弹出常规身份验证对话框.这是我不想要的,因为它让用户感到困惑,我无法从这里保存凭据.

编辑:我遇到的另一个用例是:我想检查一个资源是否受密码保护,而不试图提供凭据来实际访问它.

关于如何在不弹出Chrome的auth框的情况下抓住401的任何想法?

javascript ajax google-chrome http-authentication google-chrome-extension

11
推荐指数
1
解决办法
6148
查看次数

如何在不更改tomcat-users.xml的情况下为静态tomcat webapps提供基本的http身份验证?

我可以访问tomcat管理器并可以上传war文件.其中一场战争是静态网络项目(压缩的html +媒体文件,重命名为*.war).我想在此战争中添加一个Web-INF/web.xml文件,以使用基本的http auth来保护内容.

我知道如何通过添加全局用户和分配角色来实现这一点tomcat-users.xml,但我希望在我的war文件中定义所有用户名和密码.

  1. 这可以在不触及tomcat的情况下完成tomcat-users.xml吗?
  2. 如果是,我如何在我的静态项目中指定它web.xml

Thx,尤文

tomcat web.xml http-authentication

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

如何在不需要身份验证时从URL检索尝试的$ _SERVER ['REMOTE_USER']

通常,当公共可访问目录需要基本HTTP身份验证时,一旦为服务器提供了有效的用户名/密码组合,PHP $_SERVER['HTTP_AUTHORIZATION']和/或$_SERVER['REMOTE_USER'](或$_SERVER['PHP_AUTH_USER']等)的值将被设置并可由PHP访问.

例如,如果http://www.example.com/members需要基本身份验证,并且用户使用凭据成功进行身份验证myusernamemypassword通过手动键入http://myusername:mypassword@www.example.com/members其浏览器,则值$_SERVER['HTTP_AUTHORIZATION']将类似于:

Basic bXl1c2VybmFtZTpteXBhc3N3b3Jk
Run Code Online (Sandbox Code Playgroud)

......而且价值$_SERVER['REMOTE_USER']只是:

myusername
Run Code Online (Sandbox Code Playgroud)

但是,如果在同一目录中不需要身份验证,但仍然使用其中的用户名/密码访问URL,则用户名/密码的值似乎不会在任何位置设置(将PHP 5.3.10作为CGI /运行Apache/2.2.22上的FastCGI).

从PHP内部(和/或.htaccess必要时),当不需要身份验证时,是否有办法检索由手动将其添加到URL的访问者提供的用户名(和/或密码)的值?

php authentication .htaccess http-authentication

11
推荐指数
1
解决办法
1906
查看次数

Gradle对存储库使用证书身份验证

问题

我有一个Android Gradle项目,它应该从我的公司的sonatype nexus服务器中提取一个lib.nexus服务器使用证书身份验证.这意味着客户端有一个私有证书,可以对nexus服务器进行身份验证和授权.

问题是如何配置gradle来使用我的证书(在osx密钥库中).

/app/build.gradle

repositories {
   // some other repositorys...
   ...
   maven {
      credentials {
         username = NEXUS_USERNAME
         password = NEXUS_PASSWORD
      }
      url 'https://prefix.server.com/nexus/content/repositories/artifactid'
   }
}
Run Code Online (Sandbox Code Playgroud)

在没有提供证书的情况下,nexus服务器响应:

错误:无法HEAD'https://prefix.server.com/nexus/content/repositories/artifactid/de/komoot/android/kmt-material-showcase/0.0.1/kmt-material-showcase-0.0.1. pom '.从服务器收到状态码400:错误请求

我的第一个解决方案是尝试配置jvm以使用osx keychain作为证书.同样的方法帮助我在nexus服务器上推送和发布libs/artifacts.

/app/gradle.properties

org.gradle.jvmargs=-Djavax.net.ssl.keyStore=NONE -Djavax.net.ssl.keyStoreType=KeychainStore -Djavax.net.ssl.keyStorePassword=-
Run Code Online (Sandbox Code Playgroud)

这不起作用gradle sync失败:错误:NONE(没有这样的文件或目录)

它看起来像是参数'-Djavax.net.ssl.keyStore'的'无'.我尝试了几个uper和小写的解决方案,但都失败了.

第二种方法是试用它

org.gradle.jvmargs=-Djavax.net.ssl.keyStoreType=KeychainStore
Run Code Online (Sandbox Code Playgroud)

但服务器再次响应400.看起来没有使用JVM args.

有关此主题的任何想法或文章?希望可以有人帮帮我.

ssl jvm http-authentication gradle android-gradle-plugin

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

使用BaseHTTP使用基本身份验证的Python HTTP Server

我试图让一个基于python的网络服务器工作.

我想进行基本身份验证(发送401标头)并对用户列表进行身份验证.使用"WWW-Authorize"标头发送401响应没有问题,我可以验证用户响应(base64编码的用户名和密码),但是,成功验证后登录框会不断弹出.

import SimpleHTTPServer
import SocketServer
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer

class Handler(BaseHTTPRequestHandler):
    ''' Main class to present webpages and authentication. '''
    def do_HEAD(self):
        print "send header"
        self.send_response(401)
        self.send_header('WWW-Authenticate', 'Basic realm=\"Test\"')
        self.send_header('Content-type', 'text/html')
        self.end_headers()

    def do_GET(self):
        ''' Present frontpage with user authentication. '''
        self.do_HEAD()

        if self.headers.getheader('Authorization') == None:
            self.wfile.write('no auth header received')
            pass
        elif self.headers.getheader('Authorization') == 'Basic dGVzdDp0ZXN0':
            self.wfile.write(self.headers.getheader('Authorization'))
            self.wfile.write('authenticated!')
            pass
        else:
            self.wfile.write(self.headers.getheader('Authorization'))
            self.wfile.write('not authenticated')
            pass

httpd = SocketServer.TCPServer(("", 10001), Handler)

httpd.serve_forever()

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

在第一次加载(http:// localhost:10001)时,登录框弹出,我输入test,test(正确的用户)用户验证确定,但是框弹出,如果我单击取消,我将进入验证页面. .. …

python http-authentication basehttpserver

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

NodeJS HTTP Server - 如何验证客户端的IP和登录?

如果我决定为我的服务器使用http模块,我需要执行以下哪些模块/方法?

  • 验证连接客户端的源IP地址?
  • 如果服务器需要http:// username:password@exmaple.com/method1这样的URL ,我如何设置NodeJS的Http服务器以接受此类身份验证,以及如何验证客户端连接提供的凭据?

谢谢.

http-authentication node.js

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

在不是100%AJAX的Ajax应用程序中使用HTTP身份验证的最佳方法是什么

我有一个标准的HTML登录页面,我宁愿使用它而不是浏览器提供的标准HTTP身份验证弹出窗口.今天,我在登录后使用会话cookie跟踪会话,但我希望无状态并且每次都通过HTTP身份验证.我正在尝试的Web服务已经支持这一点,所以这是一个仅限浏览器的问题.

在jQuery中添加身份验证凭据是微不足道的,但我不知道如何保留它们.如果您从登录页面(jsp)转到主页(另一个jsp),您显然不会保留登录页面中的用户名和密码字段.我知道如果您从弹出窗口输入它们,某些浏览器将存储您的HTTP身份验证凭据,但我不知道它们是否在使用XHRRequest时被存储.如果他们这样做,浏览器之间是否有很多一致性?

此外,用户也需要能够"退出"应用程序.如果浏览器存储身份验证凭据,是否有办法使用JavaScript清除它们.

我觉得我不能成为第一个试图解决这个问题的人.是否有一些jQuery插件或已经处理过的东西?或者根本不可能做我想做的事情?

ajax jquery xmlhttprequest http-authentication stateless-session

10
推荐指数
1
解决办法
5243
查看次数

RestTemplate使用当前httpclient(4.x)进行基本或摘要式身份验证

我正在尝试使用RestTemplatehttpclient(4.x)进行Digest(或基本)身份验证.

由于我找不到任何关于如何实际执行此操作的相关示例,我尝试了各种方法来挂钩各种httpclient工件,没有运气 - 本质上,根本没有发送任何身份验证标头.

我目前的实施是:

DefaultHttpClient newHttpClient = new DefaultHttpClient();
Credentials credentials = new UsernamePasswordCredentials( username, password );
AuthScope authScope = new AuthScope( host, port, AuthScope.ANY_REALM );
BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials( authScope, credentials );
newHttpClient.setCredentialsProvider( credentialsProvider );

HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory( newHttpClient );
restTemplate.setRequestFactory( requestFactory );
Run Code Online (Sandbox Code Playgroud)

有什么我做错了吗?这个地方还有一个可行的例子吗?任何帮助表示赞赏.谢谢.

spring restful-authentication http-authentication basic-authentication resttemplate

10
推荐指数
2
解决办法
6508
查看次数