【问题标题】:How to restrict public access to a webapplication?如何限制对 Web 应用程序的公共访问?
【发布时间】:2015-06-15 20:37:49
【问题描述】:

我使用 Spring 框架创建了一个 Web 应用程序,用户可以在其中登录/注册等。客户希望将应用程序上传到托管服务提供商,以便他可以访问它。

问题是客户不想公开。他想要访问 URL,提示他输入用户和密码,然后才能为应用程序创建帐户、登录和其他内容。

知道如何在不更改现有 Spring Security 身份验证机制的情况下限制对应用程序的公共访问吗?

【问题讨论】:

  • 你知道客户端的IP地址吗?如果是这样,您可以在您的服务器上放置一个过滤器,只允许来自该地址的访问。
  • 没有。我不知道客户端的IP。谢谢。
  • 即使经过反复阅读尝试,我也无法在这些句子中找到任何问题......你想达到什么目的?看起来您想使用身份验证。这就是spring security可以做的。这里没有什么可以“改变”的。
  • 正如@specializt 指出的那样,该应用程序已经受到基于用户名的身份验证的保护。您可以添加 SSL 相互身份验证以获得额外的安全层(如果托管服务器支持),但它会带来管理客户端证书的麻烦。

标签: java spring public restrict


【解决方案1】:

您可以进行一些额外的授权。对于 nginx,有http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html,您可以在其中指定整个站点的登录名和密码,然后代理将其传递给您的 Spring 服务器。

【讨论】:

  • 添加另一个几乎相同的身份验证机制毫无用处 - 有些人称之为“蛇油”。
  • 如果他已经使用了一些代理来访问spring webservice,那么做一些“全局授权”很容易。它可以很简单且不连接到服务帐户。
  • 蛇油有多便宜并不重要——它仍然是蛇油。
  • 托管服务提供商不允许安装此类应用程序!谢谢@kTT
  • .... 完全错误。您可以向许多托管服务提供商订购身份验证 - 有些要求您自己创建配置文件,有些则提供 UI 用于此类目的,这已经不是 1990 年了。
猜你喜欢
  • 2017-11-30
  • 2016-07-18
  • 2012-05-22
  • 1970-01-01
  • 2017-01-29
  • 1970-01-01
  • 2021-08-15
  • 2017-08-09
相关资源
最近更新 更多