我无法在测试中正确配置安全性.我的网络安全配置:
@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/api/**").hasRole("USER")
.and()
.httpBasic()
;
}
}
Run Code Online (Sandbox Code Playgroud)
我的测试班:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration
@ContextConfiguration(classes = {Application.class, AppConfig.class, WebMvcConfig.class, WebSecurityConfig.class})
@WebAppConfiguration
public class TestControllerTest {
@Autowired
private WebApplicationContext wac;
private MockMvc mockMvc;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
this.mockMvc = webAppContextSetup(wac).dispatchOptions(true).build();
}
@Test
public void getTest() throws Exception {
mockMvc
.perform(get("/api/test"))
.andExpect(status().isForbidden())
;
}
}
Run Code Online (Sandbox Code Playgroud)
我得到404状态代码意味着没有执行安全层,因此在我的测试类中没有正确配置它.我试图将类切换@ContextConfiguration
到@SpringApplicationConfiguration
没有成功.
我正在尝试roo.sh
对文件进行符号链接/usr/local/bin
,以便可以roo
直接使用该命令,但遇到了一些麻烦。
$ ls
roo.sh
$ ln -s roo.sh /usr/local/bin/roo
$ chmod +x /usr/local/bin/roo
$ roo
command not found
$ bash /usr/local/bin/roo
No such file or directory
Run Code Online (Sandbox Code Playgroud)