繁体   English   中英

Tomcat URL身份验证例如:https:// user:password@app.wibble.com

[英]Tomcat URL Authentication e.g: https://user:password@app.wibble.com

我正在编写一个tomcat应用程序,并且需要在URL中进行身份验证,如下所示:

https://开头的用户:password@app.wibble.com

除了我的生活,我不知道如何设置或能够找到文档阅读它,显然我的谷歌技能需要工作。

任何人都可以告诉我应该在哪里寻找这种信息或从哪里开始?

干杯

安迪

验证这种方式称为HTTP BASIC,这可能有助于您的搜索:)

基本上你需要像你这样的web.xml中的元素

<login-config>
  <auth-method>BASIC</auth-method>
  <realm-name>myRealm</realm-name>
</login-config>

然后,您需要为您的用户设置一个领域:

http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html#Configuring%20a%20Realm

然后,您需要在tomcat-users.xml文件中创建一些用户

现在,您可以开始在web.xml中使用<security-constraint>元素来管理访问。

另外,对于现代浏览器,如果要使用BASIC,则必须实际使用容器管理的安全性。 有时人们会尝试在servlet中解析请求并从中获取用户名/密码。 现代浏览器将通过不将登录名和密码放在标题中来“保护”您免于泄露密码,除非在没有它的情况下对服务器进行初始调用失败并且对BASIC凭证提出质疑。

我不认为这是一个合法的URL。 如果我正确地阅读RFC ,“@”在主机部分 - app.wibble.com中是不合法的 - URL和http网址没有用户和密码部分。 电子邮件和FTP可以,但不是http。

也许https://app.wibble.com/user/password ,但我建议不要在网址中输入密码。 它最终会在某个缓存中找到它。

客户端可以从URL获取凭据并将其放入支持的身份验证方法(如HTTP Basic或Digest)的正确标头中。 服务器将只接收位置(在本例中为“/”)和WWW-Authenticate标头,如果您正确设置容器管理的身份验证,则应由Tomcat处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM