我有網絡應用程序,我想保護我的休息API我遵循一些教程,我成功實現了其餘的API是安全的。 但是當我第一次打電話給我的網頁應用程序添加html文件時,它會顯示我要輸入的登錄區域。 我只是想確保其餘API並不是所有的web應用程序在我的情況
這是我application.properties春季啓動安全休息API與彈簧安全
spring.datasource.url=jdbc:mysql://localhost/geekycoders_myteam
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.generate-ddl=true
logging.level.org.springframework.boot.autoconfigure.security=INFO
security.user.name=admin
security.user.password=admin
,這是我SecurityConfig
類
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers(HttpMethod.POST, "/api/**").authenticated()
.antMatchers(HttpMethod.PUT, "/api/**").authenticated()
.antMatchers(HttpMethod.DELETE, "/api/**").authenticated()
.antMatchers(HttpMethod.GET, "/api/**").authenticated()
.anyRequest().permitAll()
.and()
.httpBasic().and()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
}
,這是一個樣本控制器
@RestController
@RequestMapping("/api/user")
public class UserController {
@Autowired
UserRepository userRepository;
@RequestMapping("/findall")
@ResponseBody
public List<User> findall(){
return userRepository.findAll();
}
@RequestMapping("/find")
@ResponseBody
public User getUser(@PathParam("id") int id){
return userRepository.findOne(id);
}
}
和我有index.html到目錄webapp一些幫助
在這裏我把這個代碼 – medbenjemaa
試這些代碼行.antMatchers(HttpMethod.GET,「/ api/**」)。authenticated().antMatchers(HttpMethod.GET,「/ **」)。permitAll() – sanjeev
謝謝它的工作;) – medbenjemaa