首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >j_security_check和JAAS

j_security_check和JAAS
EN

Stack Overflow用户
提问于 2008-09-23 08:51:47
回答 5查看 3.8K关注 0票数 4

我的任务是实现一个登录处理程序。处理程序捕获的唯一详细信息是用户名和密码。最初,我打算使用一个发布到servlet的JSP。其中servlet执行db查找并且还验证用户凭证。成功登录后,您将被重定向,但如果登录失败,您将返回到jsp并显示相应的错误消息。

然而,在做了一些研究之后,我发现了j_security_check和JAAS,我不确定应该使用哪一个,或者根本不确定是否使用。

我会从中获得什么好处,哪一个最适合我的任务?

EN

回答 5

Stack Overflow用户

发布于 2009-02-20 11:32:45

安全性由以下几个方面组成:

  1. Authentication
  2. Authorization
  3. Transport层安全加密

身份验证:这包括检查用户的凭据;大多数情况下,这是通过登录机制实现的。创建登录页面的任务是身份验证的一部分。

授权:-应用程序资源需要防止未经授权的访问,这意味着当用户请求受保护的资源时,应用程序需要确保用户具有适当的访问权限。这通常是通过为用户分配角色并放置验证用户访问权限的请求过滤器来完成的。这一部分更为关键,需要详细的设计分析。仅仅对用户进行身份验证是不够的,您需要确保受保护的资源不会被未授权的用户访问。

传输层安全:-系统架构需要确保通过网络传输的数据不会落入黑客或嗅探器手中。SSL/TSL就是用来达到这个目的的

像Spring security这样的J2EE容器和框架为每个安全方面提供了公共功能。

您正在尝试开发的是简单的身份验证机制。当涉及到访问控制,即授权时,应用程序安全性的要求更高。

此外,安全性还需要可伸缩,例如,当业务需要更改以集成系统和安全性时,您的系统应该能够适应单点登录(SSO)、LDAP身份验证等。

尽管JAAS和容器安全性对于伸缩来说已经足够好了,但是对它们的限制很少。例如,您需要依赖于特定于供应商的配置和适配器。您的应用程序将在部署描述符中声明安全需求,并且服务器管理员需要在服务器端配置安全领域。

我建议您评估Spring Security (以前的Acegi Security)框架。我们已经在我们的许多项目中使用了相同的方法,并发现它是健壮的、可定制的和易于实现的。它附带了一组过滤器,可以拦截您的请求并提供访问控制。该框架可用于根据各种用户存储库验证用户,如数据库、LADP服务器、OS Security等。它是可扩展的,可与SSO服务器集成。它还提供了有用的标记库,用于控制对JSP页面中各部分的访问。不仅如此,这个框架还提供了方法级别的安全性,可以通过Spring AOP框架在类级别施加这些安全性

票数 7
EN

Stack Overflow用户

发布于 2008-09-23 10:45:10

使用您的容器提供的内容,并且不要实现数据库查找来完成此操作。当容器知道谁已经登录时,您可以使用角色来限制对某些页面的访问。还有different types of authentication.

使用JAAS将使您能够灵活地使用另一种验证密码的方法(例如,在active directory中)。同样,单点登录也可以用这个来实现。

票数 2
EN

Stack Overflow用户

发布于 2008-09-23 09:21:26

更简单的方法应该足够了,除非你正在做非常非常敏感的事情。只需记住最重要(也是最简单)的一点:在数据库中保留密码散列,而不是真正的密码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/119926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档