【问题标题】:Propagate user access right from an authentication web page to other html only web pages on the server?将用户访问权限从身份验证网页传播到服务器上的其他仅 html 网页?
【发布时间】:2016-03-20 12:32:54
【问题描述】:

我想创建一个网页,该网页将根据我提供的凭据(user1、pswd1 等)对用户进行身份验证。
只有在用户通过身份验证后,他才能访问其他一些网站, 在网络服务器的不同文件夹上,但没有服务器端代码
(否则会很简单。)
应该允许用户访问其他站点,例如基于他的IP,
24 小时或其他时间段,或者当他在浏览器上打开身份验证站点时。
如果用户不必在每个站点上输入凭据的目的, 并且只会输入他的凭据一次,或者每天一次。

限制:

    我根本不想修改目标网站的 javascript 代码,例如查询网络服务。
    应授予用户使用任何浏览器的访问权限, 所以我假设我不能使用 cookie。

如果我要在 Apache 上开发这样的机制,例如,只要用户成功通过身份验证,我就可以让身份验证站点 PHP 代码在每个目标 Web 文件夹的 htaccess 文件中添加一行“Allow from ip”。

问题是我不想开发它,因为我确信已经存在解决方案,而且我需要为 Apache 和 node.js 提供类似的机制(尽管我可以使用两种不同的解决方案)

【问题讨论】:

    标签: node.js apache authentication access-control federation


    【解决方案1】:

    用户需要哪些信息来证明自己的身份?你如何保证用户就是他们所说的那个人?

    身份验证的全部意义在于确定用户是他们所说的身份,并且可能会创建一个会话,以便用户无需重新进行身份验证。

    如果您希望用户在单个位置进行身份验证,然后在其他地方重用该“会话”或一组凭据,您正在寻找的是单点登录/身份联合。

    以 airbnb.com 为例。我不需要在那里进行身份验证。我所要做的就是通过第三方进行身份验证,例如谷歌或脸书。事实上,SO 的工作方式相同。

    这种技术背后的标准之一称为 Open ID Connect。调查一下。如果您愿意花钱,您可以研究商业解决方案,例如Ping 身份。 Miter / MIT 提供了一个开源实现。我是available here

    【讨论】:

      【解决方案2】:

      事实上我觉得我可以使用简单的路由。
      在顶级文件夹中有执行身份验证的 php 代码。
      如果用户通过身份验证,路由/重定向到请求的目标站点, 基于请求的网址。
      url 应该是例如http://mysite/site1,其中验证码在文件夹 mysite 中,并且 site1 不能直接访问。
      也许我可以使用 php-express 之类的东西在 node.js 上重用相同的 php 代码。

      【讨论】:

        猜你喜欢
        • 2020-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-15
        • 2012-08-01
        相关资源
        最近更新 更多