RESTコントローラー(URLパラメーター)を介してユーザーを認証する方法を探していました。これを行う最も近い方法は次のとおりです。
@Controller
@RequestMapping(value="/api/user")
public class UserController extends BaseJSONController{
static Logger sLogger = Logger.getLogger(UserController.class);
@RequestMapping(value = "/login", method = RequestMethod.POST)
public @ResponseBody String login(@RequestParam(value="username") String user, @RequestParam(value="password") String pass) throws JSONException {
Authentication userAuth = new UsernamePasswordAuthenticationToken(user, pass);
MyCellebriteAuthenticationProvider MCAP = new MyCellebriteAuthenticationProvider();
if (MCAP.authenticate(userAuth) == null){
response.put("isOk", false);
}
else{
SecurityContextHolder.getContext().setAuthentication(userAuth);
response.put("isOk", true);
response.put("token", "1234");
}
return response.toString();
}
}
ただし、これは Cookie を作成しません。私が達成したいことを実装するためのアイデアやより良い方法はありますか?