1. 程式人生 > >Spring security 獲取當前使用者的登入資訊

Spring security 獲取當前使用者的登入資訊

@Controller
@RequestMapping("/operate")
public class OperateController extends BaseController {

    @RequestMapping("/allot")
    public String allotOrder(Model model){
        Object object = SecurityContextHolder.getContext().getAuthentication().getPrincipal();//獲取spring security封裝的當前使用者資訊物件
        if("anonymousUser".equals(object)) //如果使用者未登入或者登入資訊過期,該物件是一個型別為String型別,內容為“anonymousUser”的字串
            return "redirect:/";//登入過期跳轉至登入頁面
 
        //有效登入則將使用者資訊物件進行強制轉化,這裡我轉化成自定義的繼承自User類的物件,一般預設轉化為Spring security定義的User類物件
 TBaseAdministratorCustom user = (TBaseAdministratorCustom) object;
 ........ }