我对此真的很陌生。这是我想要实现的目标:
用户从登录网页输入他的用户名和密码,我的代码将检查我们的数据库。如果用户名和密码(存储在一个表中)正确,并且用户属于某个组(存储在另一个表中),那么我将允许用户登录。
我知道 Glassfish 带有几个 autentication 领域:文件、ldap、jdbc ......
如何将我的代码与其身份验证领域合并?是否有我可以遵循的教程或分步指南?
谢谢。
我对此真的很陌生。这是我想要实现的目标:
用户从登录网页输入他的用户名和密码,我的代码将检查我们的数据库。如果用户名和密码(存储在一个表中)正确,并且用户属于某个组(存储在另一个表中),那么我将允许用户登录。
我知道 Glassfish 带有几个 autentication 领域:文件、ldap、jdbc ......
如何将我的代码与其身份验证领域合并?是否有我可以遵循的教程或分步指南?
谢谢。
如果您不想使用提供的 Java EE 安全实现,您可以使用第三方库,例如 Apache Shiro,它提供基于角色的访问控制 (RBAC) 和身份验证。
除了所有第三方身份验证机制外,您还可以提供由 GlassFish 服务器处理的自己的身份验证机制。JAAS 是基于表单的身份验证,您可以使用它(因为 JAAS 还可以提供一些其他类型的身份验证机制)。我为您准备的机制就像
某些应用程序的 HTTPRequest
->
(重定向到)LoginAuthenticationApp
->
(如果当时授权)
->
请求的应用程序
->
(其他)登录应用程序
现在是这样,通过在登录后使用 JAAS 机制,您的所有请求(每个 httprequest)都将由 Glassfish 服务器提供,如您在身份验证 jar 中定义的那样。
另一件事您可以将您的登录应用程序分开或将其放置在您的任何/每个应用程序中。
通过单独放置它,它的功能将是读取请求,从数据库进行身份验证并通过设置该 cookie(如果您使用 cookie)重定向到请求应用程序。
我发现的另一个很好的理由是所有请求都将发送到该登录应用程序和实际应用程序,以防止任何类型的 DOS 攻击。
在这里您可以找到自定义容器管理的安全性。对于需要高安全性或具有 DOS 威胁的应用程序,我始终建议使用容器管理的证券。