Spring Boot and Spring Security not honoring configureGlobal -


i created simple springboot app , added spring security. when login accepting default password generating.

it won't let me login using username/password have configured in websecurityconfigureradapter.

here code. ssfirstapplication.java

 @springbootapplication @enableautoconfiguration public class ssfirstapplication {      public static void main(string[] args) {         springapplication.run(ssfirstapplication.class, args);      } } 

my custom security config "securityconfig.java"

@configuration @enablewebsecurity @order(securityproperties.access_override_order) public class securityconfig extends websecurityconfigureradapter{      @autowired     public void configureglobal(authenticationmanagerbuilder authbuilder) throws exception{         loginfo("configureglobal");         authbuilder             .inmemoryauthentication()                 .withuser("user")                     .password("password123");                     //.roles("user");     }      private void loginfo(string strtoken){         for(int index=0;index<1;index++){             system.out.println("************************** "+strtoken+" ****************************");         }     }      @override     protected void configure(httpsecurity http) throws exception{         loginfo("configure");         http             .authorizerequests()                 .anyrequest().authenticated();     }  } 

and web app initializer "securitywebapplicationinitializer"

import org.springframework.security.web.context.abstractsecuritywebapplicationinitializer;  public class securitywebapplicationinitializer extends abstractsecuritywebapplicationinitializer{      public securitywebapplicationinitializer(){         super(securityconfig.class);     }      protected class<?>[] getrootconfigclasses() {         return new class[] { securityconfig.class };     } } 

when start springboot app (i using sts/eclipse ide) in console generating , printing out password username "user".

when try http://localhost:8080/admin won't let me use username/password configured.

here pom.xml

<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"     xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">     <modelversion>4.0.0</modelversion>      <groupid>org.test</groupid>     <artifactid>demo</artifactid>     <version>0.0.1-snapshot</version>     <packaging>jar</packaging>      <name>ss-first</name>     <description>demo project spring boot</description>      <parent>         <groupid>org.springframework.boot</groupid>         <artifactid>spring-boot-starter-parent</artifactid>         <version>1.2.3.release</version>         <relativepath/> <!-- lookup parent repository -->     </parent>      <properties>         <project.build.sourceencoding>utf-8</project.build.sourceencoding>         <start-class>demo.ssfirstapplication</start-class>         <java.version>1.8</java.version>     </properties>      <dependencies>         <dependency>             <groupid>org.springframework.boot</groupid>             <artifactid>spring-boot-starter-security</artifactid>         </dependency>         <dependency>             <groupid>org.springframework.boot</groupid>             <artifactid>spring-boot-starter-web</artifactid>         </dependency>          <dependency>             <groupid>org.springframework.boot</groupid>             <artifactid>spring-boot-starter-test</artifactid>             <scope>test</scope>         </dependency>     </dependencies>      <build>         <plugins>             <plugin>                 <groupid>org.springframework.boot</groupid>                 <artifactid>spring-boot-maven-plugin</artifactid>             </plugin>         </plugins>     </build>  </project> 

the configuration of spring mvc , spring security needs corrected. following configuration you.

@springbootapplication  @controller public class app extends webmvcconfigureradapter {      @override     public void addviewcontrollers(viewcontrollerregistry registry) {         registry.addviewcontroller("/login").setviewname("login");     }      @requestmapping(value="/")     public string home() {         return "admin";     } 

the securityconfig more or less correct except need add login url information shown below.

    @override         protected void configure(httpsecurity http) throws exception {             http.authorizerequests().anyrequest().fullyauthenticated().and().formlogin()                     .loginpage("/login").failureurl("/login?error").permitall();              http.csrf().disable();         } 

as menionted in comments above securitywebapplicationinitializer not needed in config.


Comments

Popular posts from this blog

IF statement in MySQL trigger -

c++ - What does MSC in "// appease MSC" comments mean? -

javascript - Blogger related post gadget image Resize s72-c [ Need Expert Help ] -