struts ssl 设置

在http请求的页面如果有type=password的input框,Firefox的控制台有如下提示: Password fields present on an insecure (http://) page. This is a security risk that allows user login credentials to be stolen.

为了解决这个问题,要使用https请求。用到了google code下的struts的ssl插件 struts2-ssl-plugin-1.2.1.jar

strtus.xml 中部分配置:

<constant name="struts2.sslplugin.httpsPort" value="8443"/>
<constant name="struts2.sslplugin.annotations" value="true"/>

<package name="login-default" extends="ssl-default">
   <interceptors>
      <interceptor name="aInterceptor" class="com.dib.system.interceptor.A" /> <interceptor-stack name="loginStack">
         <interceptor-ref name="secure">
            <param name="httpPort">8443</param>
            <param name="useAnnotations">false</param>
         </interceptor-ref>
         <interceptor-ref name="aInterceptor" />
         <interceptor-ref name="defaultStack" />
      </interceptor-stack>
   </interceptors>
   <default-interceptor-ref name="loginStack" />
   <global-results>
      <result name="noLogin" type="redirect">login.do</result>
   </global-results>
</package>

<package name="statisticData" extends="ssl-default" namespace="/">
    <action name="countSysMessage" class="homeInfoSettingAction" method="countSysMessage"/>
</package>

login-default中,因为有其它拦截器,需要显示的声明使用了secure拦截器,这里useAnnotations设置为false表示所有继承了该包下的方法将被重定向为https. 如果为true, 则标记了@Secured的方法才重定向为https.

StatisticData中,直接继承了ssl-default, 将使用constant中的默认设置,annotations为true, 标记了@Secured的方法才重定向为https.

测试时发现一个现象:如果用https访问继承了ssl-default但未标记为@Secured的方法,将无法访问。




转载于:https://my.oschina.net/u/2406034/blog/515220

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值