【问题标题】:File based Spring Security基于文件的 Spring Security
【发布时间】:2010-12-30 13:31:21
【问题描述】:

我正在开发一个 Web 服务项目以向合作伙伴提供数据。我们的应用程序非常轻量级,并且只有少数 API。由于时间限制和内部预先存在的知识,我们采用 Spring MVC / Spring Security 路径来服务那些宁静的 API。

无论如何,这是一个 B2B 项目,我们只希望该合作伙伴访问我们的服务器。因此,修改非常小的数据库模式来添加仅包含该合作伙伴的 1 个用户访问记录的表似乎有点过头了......

听说有人说虽然可以使用加密文件,或者至少是密码信息被加密的文件,而不是数据库来保存 Spring Security 用户访问信息......这是真的吗?如果是的话,任何人都可以指出我的一些参考资料吗?乍一看,我在 Google 上找不到任何相关内容... :(

谢谢。

【问题讨论】:

    标签: spring file encryption spring-security


    【解决方案1】:

    http://www.mularien.com/blog/2008/07/07/5-minute-guide-to-spring-security/

    查看身份验证提供程序下的“”;这允许您使用加密密码(使用 sha)。如果您只有一个用户并且您希望外部文件中的信息,那么您可以使用属性文件配置占位符来简单地指定 ${user.1.id} ${user.1.passwordenc} 等...有点 hacky,但它会工作。

    【讨论】:

      【解决方案2】:

      这很有可能。实际上,您无需编码也可以做到;将凭据直接包含在定义 Spring Security 内容的 XML 中非常简单。您通常会在示例中看到这一点,然后是“不要这样做!”的警告

      如果内部安全不是什么大问题,并且您不担心您的开发人员可以看到您的密码(好像他们需要密码一样,嘿!)并且没有其他人可能访问您的配置文件,那么这是一个快速简单但可行的解决方案。

      我将发布此内容,但我要去挖掘 Spring Security 文档中的示例,我会回来的!


      更新

      Trever Schick 在这个例子中要快一些。我想到了一个不同的例子,但他的代码准确地显示了我在说什么。您在 XML 中定义您的安全提供程序并在此处提供用户 ID/密码。 'net 上有许多实用程序可供您使用 MD5 或 SHA 对您的密码进行编码,以便您可以将其剪切并粘贴到文件中。

      【讨论】:

        【解决方案3】:

        您需要实现一个新的org.springframework.security.core.userdetails.UserDetailsService,它从文件中读取用户的信息(用户名、密码、启用标志和权限)。不知道有没有人实现过。

        【讨论】:

          猜你喜欢
          • 2021-02-15
          • 2015-01-15
          • 2019-06-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-04
          • 2017-10-19
          • 2012-02-09
          相关资源
          最近更新 更多