struts2:This method: login for action user is not allowed!


本文転載:原文http://blog.csdn.net/qq_29407009/article/details/51474118
struts2:This method: login for action user is not allowed!
struts 2 2.5バージョンのパッケージを使っているとき、気持ち悪い問題が発生しました.ダイナミックメソッドを使っているとき、This method:login for action user is not allowed!struts2:This method: login for action user is not allowed!_第1张图片にこのような原因が現れたのは何ですか?このようにエラーを報告した場所をクリックして、ソースコードに入ってソースコードを表示します.これはエラーを報告した場所のソースコードです.struts2:This method: login for action user is not allowed!_第2张图片私たちが見たのはこの方法です.if (config.isAllowedMethod(method)) { invocation.init(this); } else { throw new ConfigurationException("This method: " + method + " for action " + actionName + " is not allowed!"); }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 这里写图片描述はこの方法(config.isAllowedMethod)がfalseを返したに違いない.この方法に入って、この方法の処理方法を見て、method.equals(methodName != null ? methodName : DEFAULT_METHOD) || allowedMethods.isAllowed(method)”.その中でこれは:DEFAULT_METHOD:execute 这里写图片描述説明://1.methodName != null ? methodName : DEFAULT_METHOD methodName , methodName , DEFAULT_METHOD (execute) //2.method.equals() allowedMethods.isAllowed(method), login, allowedMethods.isAllowed(method) ! return method.equals(methodName != null ? methodName : DEFAULT_METHOD) || allowedMethods.isAllowed(method)
  • 1
  • 2
  • 3
  • struts2:This method: login for action user is not allowed!_第3张图片そしてallowedMethodsに入りますisAllowed(method)という方法では//allowedMethods: struts , 2.5 , struts2 struts-default.xml <global-allowed-methods>execute,input,back,cancel,browse,save,delete,list,index</global-allowed-methods> public boolean isAllowed(String method) { for (AllowedMethod allowedMethod : allowedMethods) { if (allowedMethod.isAllowed(method)) { return true; } } return false; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • ここを見ると解決策がわかりますstruts2:This method: login for action user is not allowed!_第4张图片