mirror of
https://github.com/hs-web/hsweb-framework.git
synced 2026-06-01 10:21:26 +08:00
优化权限控制
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
package org.hswebframework.web.authorization.basic.web;
|
||||
|
||||
import org.hswebframework.web.authorization.Authentication;
|
||||
import org.hswebframework.web.authorization.AuthenticationManager;
|
||||
import org.hswebframework.web.authorization.token.TokenState;
|
||||
import org.hswebframework.web.authorization.token.UserToken;
|
||||
import org.hswebframework.web.authorization.token.UserTokenManager;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by zhouhao on 2017/10/10.
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping
|
||||
public class UserTokenController {
|
||||
|
||||
private UserTokenManager userTokenManager;
|
||||
|
||||
private AuthenticationManager authenticationManager;
|
||||
|
||||
@Autowired
|
||||
@Lazy
|
||||
public void setUserTokenManager(UserTokenManager userTokenManager) {
|
||||
this.userTokenManager = userTokenManager;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
@Lazy
|
||||
public void setAuthenticationManager(AuthenticationManager authenticationManager) {
|
||||
this.authenticationManager = authenticationManager;
|
||||
}
|
||||
|
||||
@GetMapping("/user-token/token/{token}")
|
||||
public UserToken getByToken(@PathVariable String token) {
|
||||
return userTokenManager.getByToken(token);
|
||||
}
|
||||
|
||||
@GetMapping("/user-token/user/{userId}")
|
||||
public List<UserToken> getByUserId(@PathVariable String userId){
|
||||
return userTokenManager.getByUserId(userId);
|
||||
}
|
||||
|
||||
@GetMapping("/user-token/user/{userId}/logged")
|
||||
public boolean userIsLoggedIn(@PathVariable String userId){
|
||||
return userTokenManager.userIsLoggedIn(userId);
|
||||
}
|
||||
|
||||
@GetMapping("/user-token/token/{token}/logged")
|
||||
public boolean tokenIsLoggedIn(@PathVariable String token){
|
||||
return userTokenManager.tokenIsLoggedIn(token);
|
||||
}
|
||||
|
||||
@GetMapping("/user-token/user/total")
|
||||
public long totalUser(){
|
||||
return userTokenManager.totalUser();
|
||||
}
|
||||
|
||||
@GetMapping("/user-token/token/total")
|
||||
public long totalToken(){
|
||||
return userTokenManager.totalToken();
|
||||
}
|
||||
|
||||
@GetMapping("/user-token}")
|
||||
public List<UserToken> allLoggedUser(){
|
||||
return userTokenManager.allLoggedUser();
|
||||
}
|
||||
|
||||
@DeleteMapping("/user-token/user/{userId}")
|
||||
public void signOutByUserId(@PathVariable String userId){
|
||||
userTokenManager.signOutByUserId(userId);
|
||||
}
|
||||
|
||||
@DeleteMapping("/user-token/token/{token}")
|
||||
public void signOutByToken(@PathVariable String token){
|
||||
userTokenManager.signOutByToken(token);
|
||||
}
|
||||
|
||||
@PutMapping("/user-token/user/{userId}/{state}")
|
||||
public void changeUserState(@PathVariable String userId, @PathVariable TokenState state){
|
||||
userTokenManager.changeUserState(userId, state);
|
||||
}
|
||||
|
||||
@PutMapping("/user-token/token/{token}/{state}")
|
||||
public void changeTokenState(String token, TokenState state){
|
||||
userTokenManager.changeTokenState(token,state);
|
||||
}
|
||||
|
||||
@PostMapping("/user-token/{token}/{userId}/{maxInactiveInterval}")
|
||||
public UserToken signIn(@PathVariable String token, @PathVariable String userId, @PathVariable long maxInactiveInterval)
|
||||
{
|
||||
return userTokenManager.signIn(token,userId,maxInactiveInterval);
|
||||
}
|
||||
|
||||
@GetMapping("/user-token/{token}/touch")
|
||||
public void touch(@PathVariable String token) {
|
||||
userTokenManager.touch(token);
|
||||
}
|
||||
|
||||
@GetMapping("/user-auth/{userId}")
|
||||
public Authentication userAuthInfo(@PathVariable String userId){
|
||||
return authenticationManager.getByUserId(userId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user