0
自動生成されたログイン認証フィルタを追加する前に出力を与えるSpring MVCプロジェクトがあります。しかし、フィルタを追加した後、出力が得られません。 404エラーが見つかりませんでした。私のコードの問題は何ですか?実際には、URLが/ booksの場合は、この認証を追加します。以下は私のプロジェクトの関連ファイルです。春のセキュリティのための春MVCで自動生成されたログイン認証が動作していません
web.xmlの
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/securityconfig.xml</param-value>
</context-param>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springFramework.web.filter.DelegationFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
securityconfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:sec="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-4.0.xsd">
<sec:http auto-config="true" use-expressions="true">
<sec:intercept-url pattern="/books" access="ROLE_USER"/>
<sec:form-login/>
<sec:logout logout-url="/j_security_logout"/>
</sec:http>
<sec:authentication-manager>
<sec:authentication-provider>
<sec:user-service>
<sec:user name="test" password="123" authorities="ROLE_USER, ROLE_ADMIN"/>
<sec:user name="bob" password="mypassword" authorities="ROLE_USER"/>
</sec:user-service>
</sec:authentication-provider>
</sec:authentication-manager>
依存性:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>4.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>4.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>4.1.0.RELEASE</version>
</dependency>
<!-- security also needs the following to be present -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
コントローラのようにある
帳:
@Controller
public class BookController {
@RequestMapping("/")
public String redirectRoot() {
return "redirect:/books";
}
@RequestMapping(value = "/books", method = RequestMethod.GET)
public String getAll(Model model) {
model.addAttribute("books", bookDao.getAll());
return "bookList";
}
}
セキュリティログインページはどうなっていますか?あなたはそれのための任意のコントローラがありますか? – jlumietu
いいえ、私はログインコントローラが不要だと思います。私は正しい? –
あなたは自動生成されたログインフォームを使用しています。私の答えをチェックしてみてください – jlumietu