最近在查找java web 安全方面的资料,发现在实现登录时,用户名,密码都是明文传输。我现在能知道的是配置tomcat使能使用SSL。我想问,除了这种方式, 如配置<login-config>可以吗?JAAS到底是用在Applet这样的客户端还是也可以用在验证方面?

解决方案 »

  1.   

    JAAS, JSSE , Tomcat Realms 到底他们的应用场合是什么?我看了很多文章,但都不太清楚我略说下我的理解。JAAS:名称是:认证和授权服务, 他能通过用户的用户名密码通过自定义的认证模块认证,根据权限文件分配权限,如:不允许使用Socket服务器,不允许进行IO操作等。
      但我觉得这应该是偏向 Applet程序的?因为一个applet是允许在客户端,而如果一个程序能不加限制的扫描客户端文件那肯定是不行的,所以就需要在客户端上安装java运行环境时,就指定applet不能扫描用户硬盘。JSSE:名称是Java 安全套接字扩展,这个就是J2EE Web 应用程序安全框架的核心功能:认证、授权和传输层安全lTomcat Realms:在Apache tomcat 官方是这么讲述的:(对于每个现有的Realm实现里,用户的密码(默认情况下)以明文形式 被贮存。在许多环境中,这是不理想的,因为任何人看见了认证数据都可以收集足够信息成功登录,冒充 其他用户。为了避免这个问题,标准的实现支持digesting用户密码的概念。这被贮存的 密码是被加密后的(以一种不易被转换回去的形式),但是Realm实现还是可以用它来认证。)  所以我个人认为这是不是可以用来实现在传送过程中使用密文传送?但我又看到了这段话:“tomcat通过server.xml下的Realm与web.xml的<security-constraint>来限制用于对tomcat内资源的访问。”  这只是限制tomcat内部资源的访问? 那这样就和我需要的效果不符了。 希望有人能解释下这些问题