如何使用spring security配置我的应用程序?

时间:2014-11-27 12:52:38

标签: spring spring-security

我是春天安全的新手,我试过阅读,有很多信息,我不知道我是否朝着正确的方向前进。 我有html元素用JS创建的html文件 假设我有两个带ID的输入字段(html输入字段)

      emailInput and passwordInput 

和带ID的按钮(html按钮)

      loginLabel

我将配置添加到pring-security-config

 <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:security="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-3.0.xsd
      http://www.springframework.org/schema/security
      http://www.springframework.org/schema/security/spring-security.xsd">

  </beans>

我添加到web.xml

 filter>
   <filter-name>springSecurityFilterChain</filter-name>
   <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
 </filter>

 <filter-mapping>
   <filter-name>springSecurityFilterChain</filter-name>
 <url-pattern>/*</url-pattern>

我创建了Servlet Filer

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.*;
import org.springframework.security.config.annotation.authentication.builders.*;
import org.springframework.security.config.annotation.web.configuration.*;

 @Configuration
 @EnableWebSecurity
 public class SecurityConfig extends WebSecurityConfigurerAdapter {

 @Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth
        .inMemoryAuthentication()
            .withUser("user").password("password").roles("USER");
}

}

我如何将输入中的字段(元素不是来自标记)连接到SecurityConfig?

我是否需要从元素创建,否则我可以在没有元素的情况下创建它?

我是否需要创建JSP文件或者是否可以使用html文件?

1 个答案:

答案 0 :(得分:1)

  1. 第1步:启用HTTP安全性。
  2. 第2步:启用表单登录。
  3. 第3步:设置登录请求中预期的用户名和密码参数名称。
  4. 以下示例:

    @Configuration
    @EnableWebSecurity
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
      protected void configure(HttpSecurity http) throws Exception {
        http
          .formLogin()
            .usernameParameter("emailInput")
            .passwordParameter("passwordInput");
      }
    }