我最近开始学习sping-boot框架,并且我正在尝试构建一个控制器来处理用户。 我创建了一个休息控制器如下:
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
UserRepository userRepository;
@Autowired
BCryptPasswordEncoder bCryptPasswordEncoder;
@PostMapping("/sign-up")
public void signUp(@RequestBody User user) {
user.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
userRepository.save(user);
}
}
这是模型:
@Entity
@Table(name = "req_user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String username;
@JsonIgnore
private String password;
private String email;
public User() { }
public User(String username, String password, String email) {
this.id = null;
this.username = username;
this.password = password;
this.email = email;
}
...
@JsonIgnore
public String getPassword() {
return password;
}
@JsonProperty
public void setPassword(String password) {
this.password = password;
}
...
}
这是存储库:
@Repository
public interface UserRepository extends CrudRepository<User, Long> {
User findByUsername(String username);
}
现在工作正常,但我想禁用一些提供的操作 RestController默认情况下。特别是,我想禁止查看所有用户列表并删除其中一个用户的可能性。建议的方法是什么?
答案 0 :(得分:0)
如果要禁止查看所有用户列表并删除其中一个用户,则可以为应用程序实现spring安全。它将帮助您处理禁止并访问所需的这些方法。
这是文件弹簧安全性,您可以参考并申请您的项目。 https://docs.spring.io/spring-security/site/docs/4.2.8.RELEASE/reference/htmlsingle/