2012-03-25 66 views
1

我正在学习Java安全JCE/JAAS。我无法得到一个例子,我们需要在真正的词web应用程序中实现JAAS登录模块。我们在哪里使用JAAS

任何人都可以引导我在哪里可以在我的Web应用程序中实现JAAS。尽我所知这是身份验证和授权服务。

/// 如果我的理解现在是正确的,这意味着如果在我们的网络服务器或其他任何Web服务器运行任何服务(如LDAP),如果我们想消费是服务的话,我们需要实现JAAS验证我们的应用程序。

+1

我同意,我知道如何实现,但是请你解释一下我可以实现这个的场景。 – Pedantic 2012-03-25 15:03:44

+0

如果可能,我想编一个附录。我相信[我的回答](http://stackoverflow.com/a/43220700/3542189)可能有助于理解你的问题。概念上说。 – pss1suporte 2017-04-05 02:27:39

回答

2

JAAS是在容器上实现登录的一种方式。 JAAS的主要优势来自它是一个集成在JRE中的标准框架 - 因此您可以获得大量的信息,样本,连接器等,并且可以正确区分用户身份验证的各种问题。

特别是,它明确区分了认证(验证所提供的凭证)和授权(授予用户的角色和权限)。

虽然身份验证通常是“通用”或“外部”的,例如使用LDAP服务器,但授权通常与您的应用程序紧密结合:角色和权限通常特定于应用程序所处的业务问题。

实现您自己的JAAS模块是解决此问题的简单方法,同时保持在定义良好的框架的边界内,而无需提供低级别的实现,以便为模块注入登录周期和会话管理集装箱。

+0

如果可能,我想编一个附录。我相信[我的回答](http://stackoverflow.com/a/43220700/3542189)可能有助于理解您的答案。概念上说。 – pss1suporte 2017-04-05 02:29:05

0

您不需要使用标准servlet容器来实现您自己的JAAS登录模块,除非您想修改其标准行为,因为它们提供了几种实现它的标准方法。

你会发现这里展示如何使用Tomcat的形式登录(无需滚动您自己的LoginModule)教程: http://www.avajava.com/tutorials/lessons/how-do-i-use-form-authentication-with-tomcat.html

+0

thks,我编辑了这个问题,请检查并帮助 – Pedantic 2012-03-25 15:13:46

+0

像往常一样,这类问题谷歌给出更好的“答案”:http://blog.frankel.ch/custom-loginmodule-in-tomcat;只记得在你的web.xml的中添加领域的名称 – 2012-03-25 15:56:13

0

一般情况下,你作为应用程序开发人员,不实行JAAS模块。相反,您可以从您使用的应用程序服务器中包含的预先存在的模块中选择您的应用程序需要使用哪个JAAS模块。大多数应用程序服务器都带有各种实现,它们允许您执行常见的事情,例如使用来自数据库的信息进行身份验证,ldap,活动目录,Kerberos等。您将确定需要使用哪种身份验证来源并适当配置您的应用程序。

+0

thks,我已经编辑了该问题,请检查并帮助 – Pedantic 2012-03-25 15:13:54

相关问题