Acegi中文登录帐号的问题

迷途d书童 发布于 2012/03/09 12:19
阅读 66
收藏 0

华为云11月刊推送:DIY微信问答机器人,高性能计算代码的20个技巧!>>>

在项目中以前一直用英文的登录帐号,但目前客户忽然提出一个问题,要求使用职工的中文姓名作为登陆帐号,但发现用中文作为登陆帐号系统会报异常,即使用了GBK作为字符集也不行,用acegi的代码进行调试,发现异常是在org.acegisecurity.util.FilterChainProxy类中抛出的,具体是在此类的子类VirtualFilterChain中下面的一句抛出异常   private VirtualFilterChain() {}           public void doFilter(ServletRequest request, ServletResponse response)             throws IOException, ServletException {                     ……     fi.getChain().doFilter(request, response);//如果acegi登陆页面输入了中文帐号,则此句抛出异常!fi.getChain()的类是org.apache.catalina.core.ApplicationFilterChain,运行这个doFilter后台抛出下面的异常信息: org.apache.jasper.JasperException: 张三         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper .java:372)         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2 92)         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:252)         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:173)         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(U nknown Source)   acegi相关类抛出的异常主要是由于在ApplicationFilterChain抛出异常后的关联异常,acegi中从页面中取到的登录用户名在后台输出时显示正常,没有显示乱码,但为什么中文登录帐号会有问题?JspServletWrapper.java和ApplicationFilterChain.java到底做了什么处理?希望能有高手给予指点,谢谢!我本人的邮箱是baozhengw@netease.com,或者在blog直接回帖,谢谢大家!
原文链接:http://blog.csdn.net/baozhengw/article/details/2318501
加载中
返回顶部
顶部