我正在学习Java安全JCE / JAAS。我无法得到一个示例,我们需要在真实的Web应用程序中实现JAAS登录模块。
任何人都可以指导我在我的网络应用程序中实现JAAS的地方。我知道这是身份验证和授权服务。
/// 如果我的理解现在正确,则意味着在我们的网络服务器或任何其他网络服务器中运行任何服务(如LDAP),如果我们想要使用该服务,那么我们需要实现JAAS来验证我们的应用程序。
答案 0 :(得分:2)
JAAS是在容器上实现登录的一种方法。 JAAS的主要好处来自于它是JRE中集成的标准框架 - 因此您可以获得大量信息,样本,连接器等 - 并且它可以正确区分用户身份验证的各种问题。
特别是,它明确区分了身份验证(验证提供的凭据)和授权(授予用户的角色和权限)。
虽然身份验证通常是“通用的”或“外部的”,例如使用LDAP服务器,但授权通常与您的应用程序紧密结合:角色和权限通常特定于应用程序所解决的业务问题。
实现自己的JAAS模块是解决此问题的一种简单方法,同时保持在定义良好的框架的边界内,而无需提供低级实现来为模块注入登录周期和会话管理容器
答案 1 :(得分:0)
您不需要使用标准servlet容器实现自己的JAAS登录模块,除非您想要修改其标准行为,因为它们为您提供了几种实现它的标准方法。
在这里,您将找到一个教程,展示如何使用Tomcat的表单登录(无需滚动您自己的LoginModule): http://www.avajava.com/tutorials/lessons/how-do-i-use-form-authentication-with-tomcat.html
答案 2 :(得分:0)
通常,作为应用程序开发人员,您不会实现JAAS模块。相反,您可以从您正在使用的应用服务器中包含的预先存在的模块中选择需要为您的应用程序使用的JAAS模块。大多数应用程序服务器都提供了各种实现,允许您执行常见操作,例如使用来自数据库,ldap,活动目录,kerberos等的信息进行身份验证,您将确定需要使用哪个身份验证源并正确配置应用程序。 / p>