代码之家  ›  专栏  ›  技术社区  ›  Ryan

Rails中的Kerberos身份验证

  •  7
  • Ryan  · 技术社区  · 16 年前

    是否可以使用Kerberos对Rails下的用户进行身份验证?是否有任何现有的插件(最好是扩展AuthLogic的功能)来执行此操作?

    2 回复  |  直到 14 年前
        1
  •  6
  •   Stéphan Kochen    16 年前

    我希望有人能过来给我们展示一种纯粹的铁路方式。但在那之前,最简单的方法就是让你的Web服务器处理它。

    在那一点上,我假设阿帕奇。如果不是这样的话,请告诉我们更多关于您的设置。


    浏览器中适当的Kerberos身份验证是在HTTP协议本身中完成的,就像 Basic or Digest authentication . 在阿帕奇,这可以用 mod_kerb_auth .

    接下来的步骤是了解如何检索用户名。这取决于您在Web服务器和Rails应用程序之间使用的界面。这可能是乘客、FastCGI、Mod_代理等。

    很多人会追随原版 CGI standard 在某种程度上,将一组环境变量与请求一起传递。在控制器中尝试以下操作:

    username = request.env['REMOTE_USER']
    

    那是我能带你去的地方。我从来没有用过AuthLogic。不过,从外观上看,它支持插件。也许你可以创造一个新的盲目信任 REMOTE_USER 如果设置好了?

        2
  •  1
  •   Luke    14 年前

    如果您想从AuthLogic切换到OmniAuth进行身份验证,那么它有一个模块:

    https://github.com/jgraichen/omniauth-kerberos