一尘不染

JAAS for human beings

spring

我很难理解JAAS。一切似乎都比应有的要复杂(尤其是Sun教程)。我需要一个简单的教程或示例,说明如何在基于Struts + Spring + Hibernate的Java应用程序中使用自定义用户存储库实现安全性(身份验证+授权)。可以使用ACEGI实现。


阅读 342

收藏
2020-04-15

共1个答案

一尘不染

其他用户在上面提供了一些非常有用的链接,因此我不会打扰这些链接。我在用于Web应用程序的JAAS中进行了类似的研究,并且遇到了一个“障碍”,直到我最终意识到JAAS是一种解决Java世界中Web应用程序不同的“层”上的安全性的框架。它是为解决Java SE(而非Java EE)中的安全性问题而构建的。

JAAS是一个安全框架,用于在比Web应用程序低得多的级别上保护事物。这些事情的一些示例是JVM级别上可用的代码和资源,因此所有这些功能都可以在JVM级别上设置策略文件。

但是,由于Java EE是在Java SE之上构建的,因此JAAS中的一些模块已在Java EE安全性中重用,例如LoginModules和Callbacks。

请注意,除了Java EE安全性之外,还有Spring安全性(以前称为Acegi),类似于本机Java EE安全性,它解决了保护Web应用程序问题的更高层次。它是一个单独的安全性实现,尽管在许多方面具有相似的行为,但它不是建立在标准Java EE安全性之上的。

总而言之,除非你希望保护Java SE级别的资源(类,系统资源),否则除了使用公共类和接口之外,我看不到JAAS的任何实际用途。仅专注于使用Spring Security或普通的Java EE安全性,它们都解决了许多常见的Web应用程序安全性问题。

2020-04-15