优化权限控制

This commit is contained in:
zhouhao
2017-10-10 23:21:21 +08:00
parent 002cbbc447
commit 83f9da757a
15 changed files with 353 additions and 30 deletions

View File

@@ -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);
}
}