405方法不允许使用http方法:请求方法' GET'在spring-security中不受支持

时间:2014-04-12 21:56:20

标签: spring spring-mvc spring-security

我将spring-security.xml文件配置如下:

    <http auto-config="true">
    <intercept-url pattern="/welcome*" access="ROLE_ADMIN" />
    <form-login login-page="/login" default-target-url="/welcome" 
        authentication-failure-url="/loginfailed" />
    <logout logout-success-url="/logout" />
</http>

dispatch-servlet.xml如下

 <context:component-scan base-package="springmvc.web" />
<mvc:resources mapping="/resources/**"  location="/resources/" />

<mvc:default-servlet-handler />

<!-- Declare a view resolver -->
<bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"
    p:prefix="/WEB-INF/views/" p:suffix=".jsp" />

所以通过URL访问../myapp/welcome或../myapp/login我得到了405,并且/WEB-INF/view/login.jsp下有一个login.jsp

由于

1 个答案:

答案 0 :(得分:1)

此处/login/welcome应该是使用适当的@RequestMapping注释的控制器(@Controller注释类)方法。

一种解决方法,如果您的控制器所做的只是返回视图名称,则可以执行以下操作:

<mvc:view-controller path="/login" view-name="login"/>
<mvc:view-controller path="/welcome" view-name="welcome"/>