首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java EE安全性-使用哪种方法?

Java EE安全性-使用哪种方法?
EN

Stack Overflow用户
提问于 2010-08-06 01:58:21
回答 4查看 3.4K关注 0票数 6

在Java中实现安全性的最佳途径/方法是什么?(JPA/JSP)

我正在做一个个人项目,所以我可以学习Java EE,我对如何在我的网站上进行授权和身份验证过程感到有点困惑。

我有不同的角色,我不希望某些用户访问网站的某些部分。所以我一直在搜索文档和教程等,但我找到的所有东西都可以追溯到3-4年前。有没有更新的东西需要我去看看?

以下是我发现的一些东西:

http://www.oracle.com/technetwork/developer-tools/jdev/oc4j-jaas-login-module-083975.html

非常感谢您的帮助!:)

EN

回答 4

Stack Overflow用户

发布于 2010-08-06 02:19:35

Spring Security。尽管它被标记为Spring,you might find it useful for web applications;但请注意,您不需要编写Spring应用程序来使用Spring Security。

如果您希望坚持使用JAAS,我建议您在尝试编写自己的登录模块之前,先使用容器的一个登录模块。请注意,如果容器提供的模块不满足您的需求,您可能最终会编写一个。而且,有一个很好的book on JAAS可以帮助您详细了解它。

此外,看看Servlet spec 3.0,看看如何使用注释在servlet本身中声明角色(@DeclareRoles,它在servlet规范2.5中提供),然后定义哪些角色可以访问哪个HTTP方法(使用@RolesAllowed)。您还可以使用@DenyAll和@PermitAll等注释来允许或禁止所有用户访问。@TransportProtected将确保通过HTTPS访问HTTP方法。所有需要做的就是将源代码中的这些角色映射到JAAS领域中的实际角色;这通常使用特定于容器的描述符文件来完成。

附录

由于您使用的是JSP,而不是Facelet或任何其他表示层技术,因此您可能会对JSP tags offered by Spring Security感兴趣。在一个庞大的web.xml文件中维护所有授权元数据要干净得多。

就JPA而言,对它们的底层访问通常是在servlet或EJB中强制执行的。当然,您可以基于您的需要构建更多的程序化安全性-使用实体侦听器将在此过程中提供帮助,因为您将能够拦截加载、更新和持久化操作(如果您很特殊,但在大多数情况下,在执行业务逻辑之前构建安全性通常就足够了)。

哦,看看JBoss Seam (和Seam安全性),因为它是一个构建在Java上的完整的应用程序开发框架。

票数 3
EN

Stack Overflow用户

发布于 2010-08-06 02:02:50

我最近使用JAAS开发了一个Java应用程序。这是相当新的,你可以检查它的home page at Oracle

它与角色、身份验证等一起工作。

你可以在JBossGlassfish中使用它,可能在其他地方也是如此。

票数 1
EN

Stack Overflow用户

发布于 2010-08-06 02:10:47

比JAAS更新的是Spring Security框架。它支持JSR-350 (EJB3),因此可以在Java中很好地工作。

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

https://stackoverflow.com/questions/3417659

复制
相关文章

相似问题

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