Part III. Testing(测试)

本节描述了Spring Security提供的测试支持。

要使用spring安全测试支持,您必须将spring-security-test-4.2.15.RELEASE.jar作为项目的一个依赖项。

问题是“作为一个特定的用户,我们如何最容易地运行测试?”答案是使用@WithMockUser。以下测试将作为用户名为“user”、密码为“password”、角色为“ROLE_USER”的用户运行。

 


 

具体来说,以下是正确的:

用户名为“user”的用户不一定存在,因为我们是在模拟用户。

SecurityContext中填充的Authentication类型为UserNamePasswordAuthenticationToken。

身份验证的主体是Spring Security的用户对象。

用户将拥有用户名“User”,密码“password”,并使用一个名为“ROLE_USER”的授权。

我们的例子很好,因为我们能够利用大量的默认。如果我们想用不同的用户名运行测试呢?以下测试将使用用户名“customUser”运行。同样,用户不需要实际存在。

 


 

我们还可以轻松定制角色。例如,该测试将使用用户名“admin”以及角色“ROLE_USER”和“ROLE_ADMIN”来调用。

 


 

如果我们不希望该值自动以ROLE_为前缀,我们可以利用authorities属性。例如,这个测试将使用用户名“admin”和权限“USER”和“ADMIN”来调用。

 


 

当然,在每个测试方法上放置注释会有点乏味。相反,我们可以在类级别放置注释,并且每个测试都将使用指定的用户。例如,下面将使用用户名为“admin”、密码为“password”、角色为“ROLE_USER”和“ROLE_ADMIN”的用户来运行每个测试

 


 
posted @ 2020-08-16 20:13  节日快乐  阅读(138)  评论(0编辑  收藏  举报