acegi 添加验证码

            <bean id="authenticationProcessingFilter"
        class="com.pixel.hibernate.HomeAloneAuthenticationProcessingFilter">
        <property name="authenticationManager">
            <ref bean="authenticationManager" />
        </property>
        <property name="authenticationFailureUrl">
            <value>/back/login.jsp?login_error=1</value>
        </property>
        <property name="defaultTargetUrl">
            <value>/</value>
        </property>
        <property name="filterProcessesUrl">
            <value>/j_acegi_security_check</value>
        </property>
        <property name="exceptionMappings">
    <props>
     <prop key="com.eshore.util.ValidaAuthenticationException">
      /back/login.jsp?login_error=1
     </prop>
    </props>
   </property>
    </bean>



package com.pixel.hibernate;

import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.acegisecurity.Authentication;
import org.acegisecurity.AuthenticationException;
import org.acegisecurity.ui.webapp.AuthenticationProcessingFilter;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


public class HomeAloneAuthenticationProcessingFilter extends
   AuthenticationProcessingFilter {
private static final Log logger = LogFactory
    .getLog(HomeAloneAuthenticationProcessingFilter.class);

@Override
protected void onSuccessfulAuthentication(
    HttpServletRequest arg0, HttpServletResponse arg1,
    Authentication arg2) throws IOException {
   logger.info("login successful:"
     + arg0.getParameter("j_username"));
   arg0.getSession().setAttribute("userName",
     arg0.getParameter("j_username"));
   super.onSuccessfulAuthentication(arg0, arg1, arg2);
}

@Override
protected void onPreAuthentication(HttpServletRequest arg0,
    HttpServletResponse arg1) throws AuthenticationException,
    IOException {
   // 验证码验证
   String randomCode1 = (String) arg0.getSession().getAttribute(
     "rand");
   String randomCode2 = (String) arg0.getParameter("rand");
   if (!randomCode2.equals(randomCode1)) {
    throw new ValidaAuthenticationException(
      "valida code error");
   }
   super.onPreAuthentication(arg0, arg1);
}
}

class ValidaAuthenticationException extends AuthenticationException {
/**
*
*/
private static final long serialVersionUID = -8369047599309913998L;

public ValidaAuthenticationException(String arg0) {
   super(arg0);
}
}


内容概要:《2024年中国城市低空经济发展指数报告》由36氪研究院发布,指出低空经济作为新质生产力的代表,已成为中国经济新的增长点。报告从发展环境、资金投入、创新能力、基础支撑和发展成效五个维度构建了综合指数评价体系,评估了全国重点城市的低空经济发展状况。北京和深圳在总指数中名列前茅,分别以91.26和84.53的得分领先,展现出强大的资金投入、创新能力和基础支撑。低空经济主要涉及无人机、eVTOL(电动垂直起降飞行器)和直升机等产品,广泛应用于农业、物流、交通、应急救援等领域。政策支持、市场需求和技术进步共同推动了低空经济的快速发展,预计到2026年市场规模将突破万亿元。 适用人群:对低空经济发展感兴趣的政策制定者、投资者、企业和研究人员。 使用场景及目标:①了解低空经济的定义、分类和发展驱动力;②掌握低空经济的主要应用场景和市场规模预测;③评估各城市在低空经济发展中的表现和潜力;④为政策制定、投资决策和企业发展提供参考依据。 其他说明:报告强调了政策监管、产业生态建设和区域融合错位的重要性,提出了加强法律法规建设、人才储备和基础设施建设等建议。低空经济正加速向网络化、智能化、规模化和集聚化方向发展,各地应找准自身比较优势,实现差异化发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值