使用Java小程序进行身份验证作为Web应用程序的一部分有哪些优缺点?我想到的情况是,这样的applet仅用于身份验证和事务签名,而不是用于Web应用程序。
答案 0 :(得分:3)
作为最佳实践,applet应该只在身份验证环境中增强服务器的功能。服务器应该重新验证applet(客户端)发送的内容,因为该消息可能已在传输过程中被修改。
然而,有时候applet可以用于有效目的。例如,客户端发送的消息可以由applet进行数字签名,密钥在每个用户的USB驱动器(包含私钥)中进行管理。在这样的上下文中,除了访问USB存储之外,applet还用作访问Java中的JCA库的机制。生成的签名必须在收到消息后由服务器重新验证。
正确实施后,像任何客户端安全方案一样的小程序将增加应用程序的安全状态。
如果实施不当,会导致安全影院服务器依赖客户端提供可信输入。此外,如果需要执行特权操作(如包含私钥的访问驱动器),则必须对applet进行签名;并且必须维护适当的Java安全策略文件。 Java安全模型的管理过程中的任何错误都会明显降低系统的安全性。此外,如果必须访问本地操作系统特定的API(如MSCAPI),则必须先部署本机代码(DLL),并且必须对负责这样做的软件(而不是小程序)进行安全编码。
答案 1 :(得分:0)
缺点:
优点:
恕我直言,如果您不需要强大的GUI支持或Java2D(其中大部分可以使用JQuery,ExtJS等),那么applet就没有真正的论据。