`

利用struts2-ssl-plugin实现https安全链接

 
阅读更多

struts2实现https安全链接http://blog.knowsky.com/261926.htm

利用struts2-ssl-plugin实现https安全链接

http://blog.csdn.net/sunyoulao/article/details/6267485

最近因为要搞课程设计的需要,专门研究了下ssl安全链接等一系列的问题。希望对网友朋友们会有帮助。

项目的实现是基于struts2框架及其他框架,在实现ssl安全协议链接的问题上需要用到google提供的一个很好的插件

下载地址: 
http://code.google.com/p/struts2-ssl-plugin/

对于该插件该如何使用请查看http://topic.csdn.net/u/20101004/15/80324362-da01-4fe1-b60b-df351372c504.html

       另外一个很重要的问题虽然在上文中有给出,但是我觉得有必要重提:在一个应用系统中不是所有的访问都要建立ssl链接,有得必有失,每一个链接都要保证能够安全通信,则会消耗大量系统资源。所以我们的建议是利用插件提供的功能实现部分链接、部分方法上的安全链接即可。

      上面的那个作者在自己的博客中介绍了该插件的使用,但是该作者遇到了这样的一个问题“如果是href链接到这个方法好用,如果是sumbit提交的话,就跳转不到这个方法”,本文的目的是介绍如果应用的基础上帮助解决这个问题。

       一时都不知道该从哪里入手描述问题了。突然有点脑瘫。。。不急。。。我们一点点来。

       首先,如果你一点都不懂的话,可以利用svn将struts2-ssl-plugin源码checkout下来,里面有example,将其copy到项目中,可惜的是该例子使用的是jetty服务器,而我们一般使用的都是tomcat服务器。这里我们将在myeclipse8.5中演示如果配置相关项以及tomcat配置以达到我们的目的。

       第一步: 我们需要做的是将example中的相关文件复制到项目底下。

      



      第二步: 找到myeclipse的自带tomcat服务器,一般存在于workspaces中,也有可能你更改过此目录。如果你在安装时选择的默认项,则tomcat的位置应该是C:/Documents and Settings/Administrator/Workspaces/MyEclipse 8.5 M1/.metadata/.me_tcat 。在conf目录下找到server.xml,利用editplus或是其他的文本编辑器打开,找到<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 。。。将注释去掉,进行配置:

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="D:/sunyouCA/tomcat.jks" keystorePass="******"
               truststoreFile="D:/sunyouCA/tomcat.jks" truststorePass="******"/>

<!--这里需要说明的是你得先获得数字证书及证书库文件。生成方法可以借助keytool或者是openssl-->

当然如果你在myeclipse中配置有自己安装的tomcat服务器,也可以修改当中的server.xml文件。

    第三步: 启动该web项目点击链接就可以了。点击https的时候,应该能够看大地址栏上显示:(这里图片没法上传,冬瓜网络太差)

                 https://localhost:8443/Struts2-ssl-plugin/secured/index1.action

        或则:https://localhost:8443/Struts2-ssl-plugin/annotaed/index1.action

这样,我们就解决了基于ssl安全套接层的安全协议的实现。



另外一个问题: 这个问题是为了解决作者: ling52502003 无法解决的问题。因为他的应用能够实现链接时的https方式访问,但是在submit提交方式下却不能跳转到方法,即在允许的时候会出现无法找到的action的错误(好像是这样,太久了,忘记了,笔者比较懒不想再尝试演示),但是我们在控制台上却可以找到跳转的正确url,这到底是为什么呢?查看插件实现的原代码以及配置文件我们就会知道,解决的办法是:将该action放置在继承了ssl-default包的package下。即:

    <package name="sunyou" namespace="/com/sunyou" extends="ssl-default"> <!--关键是extends这个配置-->

        <action name="fileUpload" class="com.sunyou.fileupload.FilesUpload" method="uploadfile">
            <result name="success">/jsp/message.jsp</result>
        </action>
    </package>

分享到:
评论

相关推荐

    struts2-ssl-plugin-1.2.1.jar

    struts2-ssl-plugin-1.2.1.jar

    struts2集成struts-ssl-plugin插件实现https访问例子

    Struts2是一个非常流行的Java Web...通过以上步骤,你可以成功地在Struts2应用中集成`struts-ssl-plugin`插件,实现HTTPS访问。这将提高你的Web应用的安全性,保护用户的数据不受中间人攻击和其他网络安全威胁的影响。

    struts2-ssl-plugin.rar_Java编程_Java_

    Struts2 SSL Plugin是针对Java开发的Web应用框架Struts2的一个扩展插件,主要用于实现安全套接层(SSL)的支持。在理解这个插件之前,我们先来了解一下Struts2和SSL的基础知识。 Struts2是Apache软件基金会的一个...

    简易SSL客户端 - 注释完整

    openssl实在太庞大,自己写了一个可移植各个平台的简易SSL客户端。 大概化了15个工作日,算是比较复杂的东西了。 这个代码和openssl或者https://login.passport.com测试通过。 要说明的是这个代码没有解决rsa算法,...

    https与struts2.0配置说明的使用

    至于在Struts2.0中使用HTTPS,我们可以借助 `struts2-ssl-plugin` 插件。在Struts2的配置文件中添加以下拦截器配置: ```xml &lt;param name="useAnnotations"&gt;false &lt;interceptor-stack name="secureStack"&gt; ...

    Spring笔记之整合JdbcTemplate.doc

    &lt;artifactId&gt;struts2-spring-plugin &lt;version&gt;2.3.16.3 &lt;!-- JSON支持 --&gt; &lt;groupId&gt;com.alibaba&lt;/groupId&gt; &lt;artifactId&gt;fastjson &lt;version&gt;1.2.58 &lt;!-- Servlet和JSTL --&gt; &lt;groupId&gt;javax.servlet ...

    tomcat-7.0

    - 使用HTTPS通过SSL/TLS加密通信,确保数据传输安全。 - 配置`JVM`参数,如`-Xms`和`-Xmx`,以调整内存分配,避免内存溢出。 **6. 部署与应用开发** - 使用Maven或Gradle的插件,如`maven-war-plugin`,可以直接将...

    Android配置相关,eclipse配置失败问题

    4. **SSE (Struts2 and Spring IDE)**:一个为Eclipse提供的插件,主要用于简化Struts2和Spring框架的应用开发,但与本文讨论的主题关联不大。 #### 二、问题分析及解决方法 **问题描述**:“requires 'org....

    超级有影响力霸气的Java面试题大全文档

    HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。 HashMap允许将null作为一个entry的key或者...

    java技术点

    【Java技术点】涵盖的内容广泛,从初级到高级,涵盖了编程基础、Web开发、框架使用、数据处理、安全防范等多个方面。以下将按照知识等级进行详细的解析: **初级知识点** 1. **SVN环境搭建**:版本控制系统,用于...

Global site tag (gtag.js) - Google Analytics