当前位置: 首页 > 知识库问答 >
问题:

DropWizard身份验证领域

田志
2023-03-14

在DropWizard中,我可以设置基本身份验证,如下所示(在应用程序#runimpl中):

BasicAuthProvider<SimplePrincipal> authProvider = new BasicAuthProvider(authenticator, "SECRET_REALM");
environment.jersey().register(authProvider);

领域在DropWizard中是什么意思,在basicauthprovider中指定它有什么意义?它创造了一些东西与这个领域在引擎盖下?

共有1个答案

阎声
2023-03-14

从某种意义上说,领域是服务器中的一些受保护的区域/空间。王国应该有一个名字。如果我们在没有任何用户凭据的情况下使用cURL(我建议下载它,因为它在开发中很有用)运行这篇文章中的示例,我们将看到以下内容。

C:\>curl -i  http://localhost:8080/simple
HTTP/1.1 401 Unauthorized
Date: Thu, 11 Dec 2014 18:55:02 GMT
WWW-Authenticate: Basic realm="Basic Example Realm"
Content-Type: text/plain
Transfer-Encoding: chunked

Credentials are required to access this resource.

这就是基本身份验证协议的工作方式。当服务器希望用户代理进行身份验证以访问安全资源时,它将发回一个“401 unauthorized”,以及类似于

WWW-Authenticate: Basic realm="Basic Example Realm"

您为basicauthprovider提供的名称是realm,它将在头中提供。您可以在源代码中看到

if (required) {
    final String challenge = String.format(CHALLENGE_FORMAT, realm);
    throw new WebApplicationException(
                                    Response.status(Response.Status.UNAUTHORIZED)
                    .header(HttpHeaders.WWW_AUTHENTICATE, challenge)
                    .entity("Credentials are required to access this resource.")
                    .type(MediaType.TEXT_PLAIN_TYPE)
                    .build());

您还可以在那里看到领域名称。RFC 2617仅声明(关于领域):

领域:
要显示给用户的字符串,以便用户知道要使用的用户名和密码。该字符串至少应包含执行身份验证的主机的名称,还可能指示可能具有访问权限的用户集合。例如“registered_users@gotham.news.com”。

 类似资料:
  • Dropwizard是否也支持摘要验证?我只找到了基本的身份验证和OAuth。这方面的示例代码会很好。 null

  • 我正在尝试在Dropwizard web应用程序中实现OAuth2身份验证。我已经创建了所需的<code>验证器 我所需的行为是,在我的客户端通过在我的登录页面上提供他/她的凭据登录后,我想将客户端重定向到我使用Dropwizard Views创建的问候语页面,并且路径为“/me”,如下所示: 我的问候资源如下所示: 目前,我得到一个“访问此资源需要凭据。”登录后的响应。在阅读了一些关于令牌认证的

  • 问题内容: 大家好,我想创建一个与jdbc领域和自定义登录表单(基于表单的身份验证登录约束方法)捆绑在一起的应用程序登录功能。 请提供链接或任何帮助,我们将不胜感激。 请帮忙。 谢谢。 问题答案: 您使用哪种容器?jBoss?Tomcat?Derby? 您还需要使用持久性存储->是,需要DBMS。它是哪一个?MySQL,Sysbase,Oracle PL / SQL,MS SQL? 此处提供了可供

  • 我用Java和spring mvc框架编写了一个简单的应用程序。 我使用tomcat领域身份验证表单auth-method对用户进行身份验证,并将其重定向到自己的仪表板。 例如,login.jsp上的用户输入用户名和密码,现在在控制器中检查名称并通过和使用request.login(用户名,密码)方法,然后将重定向客户端发送到仪表板页面。 现在我创建了一个restful api,用于检测来自服务器

  • 我使用以下方法注册了身份验证器:

  • 身份验证 PDF版下载 企业应用中的URL链接可以通过OAuth2.0验证接口来获取员工的身份信息。 通过此接口获取员工身份会有一定的时间开销。对于频繁获取员工身份的场景,建议采用如下方案: 企业应用中的URL链接直接填写企业自己的页面地址; 员工跳转到企业页面时,企业校验是否有代表员工身份的cookie,此cookie由企业生成; 如果没有获取到cookie,重定向到OAuth验证链接,获取员工