j_security_check和JAAS

我已经给出实施的登录处理的任务。 唯一的详细处理程序捕获的用户名和密码。 起初,我打算用一个JSP,发布到一个servlet。 当这个servlet进行了分贝查找,也验证了用户凭据。 成功登录后,你将被重定向,但不成功带您回到了JSP,并显示相应的错误消息。

但是在做一些研究,我发现j_security_check和JAAS和我不知道该使用或是否在所有。

将我从要么得到什么好处,这将是从我的任务最合适? ?

--------------解决方案-------------

安全是由以下几个方面:

  1. 认证
  2. 授权
  3. 传输层安全性 - 加密

验证: - 这包括检查用户的凭证; 大多数时候,这是通过登录机制来实现。 您创建的登录页的任务是验证的一部分。

授权: - 应用程序资源需要保护,未经授权的访问,这意味着当过用户请求受保护的资源,应用程序需要确保用户具有相应的访问权限。 这通常是通过将角色分配给用户,并把请求的过滤器,验证该用户的访问权限进行。 这部分是比较关键的,需要详细的设计分析。 只是验证用户是不够的,你需要确保保护资源不被那些谁没有被授权的相同用户访问。

传输层安全: - 系统架构需要确保数据被转移在网络亘古不落入黑客或嗅探器的手。 SSL / TSL被用于实现这一

J2EE容器,如Spring安全框架为每个安全方面的常见功能。

你所试图发展是简单的认证机制。 应用安全更demandind当谈到访问控制,即授权。

同样的安全需要可扩展性,即随着业务需求的变化集成系统和安全系统应该能够适应东西像单点登录(SSO),LDAP认证等。

虽然JAAS和集装箱安全是缩放不够好,但也有使用相同的一些限制。 例如,你需要依靠供应商的具体配置和适配器。 您的应用程序将宣布的安全需求在部署描述符和服务器管理员需要配置安全领域服务器端。

我建议你​​评估的Spring Security(以前的Acegi安全)的框架。 我们一直在使用同样的在我们的许多项目,并发现它是强大的,可定制的,易于实现。 它配备了一套拦截您的请求并提供访问控制过滤器。 框架可以用于验证用户对各种用户信息库,例如数据库,LADP服务器,操作系统安全等,这是可扩展的,并且可以与SSO服务器集成。 它还提供了控制JSP页面中获得部分有用taglibraries。 不仅如此,该框架还提供了一个可以在一流水平,通过Spring AOP框架征收方法级别的安全性

使用你的容器提供,不执行你的数据库查询来做到这一点。 当容器知道谁是登录,您可以使用角色来限制访问某些网页。 也有不同类型的认证。

使用JAAS会给你使用验证(Active Directory中为例)密码的另一种方式的灵活性。 还单点登录可以与本实施。

在简单的方法就足够了,除非你正在做的真的敏感的东西。 只要记住最重要的(简单)位:保持一个密码哈希数据库,而不是真正的密码。

您不妨看看Spring Security的框架。

JAAS需要负载过你,让你(或客户),只是下降的另一个模块来改变身份验证的方法。 例如,从DB身份验证到LDAP来的Kerberos新台币域 - 你明白了吧。

分类:java的 时间:2012-01-01 人气:0
本文关键词: 安全,爪哇,J安全检查
分享到:

相关文章

  • MD5和盐其中j安全检查 2013-03-01

    现在,我使用j个安全检查和MD5验证我的jsp页面. 我想对盐密码之前,我把它存储到数据库中. 由于在学校受限制的访问,我没有权利来创建触发器注入一些盐. 是否有任何其他方式做到这一点? 这里是我的境界: <Realm className="org.apache.catalina.realm.JDBCRealm" driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://someur

  • MSE需要永远干净的Java / CVE-2012-0507.J,爪哇/ CVE-2012-0507.D!LDR,和Java / CVE-2012-0507.I 2013-10-15

    我做了我的笔记本电脑与Windows 7全面扫描据报道威胁: 的Java / CVE-2012-0507.J 的Java / CVE-2012-0507.D!LDR 的Java / CVE-2012-0507.I 我点击了"干净的计算机"和清洁开始. 绿色的进度条在10%左右,并保持这样的. 等了大约5小时,然后不得不使用任务管理器将其杀死. 相同的结果,当我再做一次扫描. 我解除停止并重新安装Microsoft Security Essentials的,但相同的结果. 我需要去一个不

  • 爪哇 - 如何让“再试一次(J / N)”工作 2014-11-05

    package myProg; import java.util.Scanner; public class oving4a { /** *Øving 4a. Aleksander Pettersen */ public static void main(String[] args) { Scanner scan = new Scanner (System.in); int i; int count = 0; String another = "y"; double symbol =(

  • 爪哇 - 如何申报表[i] [j]的元素为实例变量? 2014-11-17

    所有, 我想编写一个Connect4游戏. 对于这一点,我创建了一个P4Game类和它代表Connect4板的I XĴ维的P4Board类. 在P4Game,我有以下几点: public class P4Game{ //INSTANCE VARIABLES private int nbLines; private int nbColumns; private P4Board [][] position; //CONSTRUCTOR public P4Game(int nbLines, int n

  • 爪哇 - 常见的问题 2012-03-19

    在其他平台上同样的精神,似乎合乎逻辑,跟进这一问题:什么是Java中常见非明显的错误? 事情看起来像他们应该工作,但没有. 我不会发出指引,以如何结构的答案,或者什么是"太容易"被认为是疑难杂症,因为这是投票是什么. 也可以看看: Perl的 - 常见的问题 .NET - 常见的问题 --------------解决方案------------- 比较平等使用对象的==而不是.equals() -它的行为完全不同的原语. 这样的疑难杂症,确保新移民都昏昏沉沉的时候"foo&q

  • GAE / J:我如何才能从用户ID的用户对象吗? ALT:我怎么就不能设置一个用户对象的绰号? 2012-04-04

    假设在Java的谷歌应用程序引擎(GAE / J)我用com.google.appengine.api.users.UserService来获取用户对象为当前用户. 我想给这个用户对客户端的信息; 然而,由于我使用的谷歌Web工具包(GWT),我需要一个对象,我可以和序列化,因为它属于一个服务器软件包的用户是不是其中之一. 因此,我在做我的GWT共享目录的新类叫,说,UserStuff和我的用户领域复制到UserStuff的一个实例,并将其发送给客户端. 后来,客户端发送UserStuff对象返

  • 爪哇 - 清单组合 2013-07-21

    我正在写一个程序,列出的字母A,B,C和D所有可能的组合我已经成功地写了一个程序,列出所有可能的排列. 但是,我怎么会重写程序工作,并产生所有组合(即:ABCD = DCBA和AB = BA,所以只要人在那里,其他的不需要列出). 到目前为止,我目前的程序代码是: import java.util.ArrayList; public class Perms { public static void main(String[] args) { ArrayList<Character> chara

  • 代码的JUnit测试使用GAE / J URLFetchServiceFactory.getURLFetchService() 2013-10-24

    我有一些代码,我部署到谷歌应用程序引擎-爪哇(GAE / J),它利用了的URLFetchService . 我想使用JUnit测试此代码. 每个测试文档,看来我应该有一个使用他们的测试LocalURLFetchServiceTestConfig类大致如下: public class MyRemoteServiceTests { private static final LocalURLFetchServiceTestConfig urlConfig = new LocalURLFetchSer

  • 是否有使用J#的真正好处? 2014-06-24

    我刚才看到提示J#的评论,这让我不知道...有过Java中的一个真正的,有益的使用J#? 所以,我的感觉是,你甚至会考虑使用J#的唯一原因是,管理层已颁布法令,该公司应跳到Java的行列......和.NET行列. 如果您使用的J#,您实际上失去扒渣......丰富的跨平台支持的最大的好处. 当然有单声道,但它并不像丰富的支持或全功能的吧? 我记得听到形式不完全(或者全部)的支持. 我并不想在这里来砸.NET,我只是说,如果你打算去微软的路线,为什么不直接用C#? 如果你要去了Java的路线,为

  • 卓悦J'AI未AVERATEC TS - 401,JE n'arrive考绩制度周一安装imprimente“佳能FAX L160 / L140”SERIE I-SENSYS传真 - L140。 AIDEZ MOI 2012-01-03

    卓悦J'AI未AVERATEC TS - 401,JE n'arrive考绩制度周一安装imprimente"佳能FAX L160 / L140"SERIE I-SENSYS传真 - L140. AIDEZ MOI --------------解决方案------------- 不幸的是,这个论坛是英语语言支持. 在该页面的顶部,你可以选择另一种语言. 如果未列出您的语言,该网站下方将有助于确保您收到您的语言相应的支持信息: http://support.microsoft.com/c

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.472 (s). 10 q(s)