72 lines
2.5 KiB
Java
72 lines
2.5 KiB
Java
package com.xuxd.kafka.console.controller;
|
|
|
|
import com.xuxd.kafka.console.aspect.annotation.ControllerLog;
|
|
import com.xuxd.kafka.console.aspect.annotation.Permission;
|
|
import com.xuxd.kafka.console.beans.AclEntry;
|
|
import com.xuxd.kafka.console.beans.AclUser;
|
|
import com.xuxd.kafka.console.service.AclService;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
/**
|
|
* kafka-console-ui. sasl scram user.
|
|
*
|
|
* @author xuxd
|
|
* @date 2021-08-28 21:13:05
|
|
**/
|
|
@RestController
|
|
@RequestMapping("/user")
|
|
public class AclUserController {
|
|
|
|
@Autowired
|
|
private AclService aclService;
|
|
|
|
@Permission("acl:sasl-scram")
|
|
@GetMapping
|
|
public Object getUserList() {
|
|
return aclService.getUserList();
|
|
}
|
|
|
|
@ControllerLog("增加SaslUser")
|
|
@Permission({"acl:sasl-scram:add-update", "acl:sasl-scram:add-auth"})
|
|
@PostMapping
|
|
public Object addOrUpdateUser(@RequestBody AclUser user) {
|
|
return aclService.addOrUpdateUser(user.getUsername(), user.getPassword());
|
|
}
|
|
|
|
@ControllerLog("删除SaslUser")
|
|
@Permission({"acl:sasl-scram:del", "acl:sasl-scram:pure"})
|
|
@DeleteMapping
|
|
public Object deleteUser(@RequestBody AclUser user) {
|
|
return aclService.deleteUser(user.getUsername());
|
|
}
|
|
|
|
|
|
@ControllerLog("删除SaslUser和Acl")
|
|
@Permission({"acl:sasl-scram:del", "acl:sasl-scram:pure"})
|
|
@DeleteMapping("/auth")
|
|
public Object deleteUserAndAuth(@RequestBody AclUser user) {
|
|
return aclService.deleteUserAndAuth(user.getUsername());
|
|
}
|
|
|
|
@Permission("acl:sasl-scram:detail")
|
|
@GetMapping("/detail")
|
|
public Object getUserDetail(@RequestParam("username") String username) {
|
|
return aclService.getUserDetail(username);
|
|
}
|
|
|
|
@GetMapping("/scram")
|
|
public Object getSaslScramUserList(@RequestParam(required = false, name = "username") String username) {
|
|
AclEntry entry = new AclEntry();
|
|
entry.setPrincipal(StringUtils.isNotBlank(username) ? username : null);
|
|
return aclService.getSaslScramUserList(entry);
|
|
}
|
|
}
|