我一直在寻找一种方法来通过REST控制器(URL params)对用户进行身份验证。 这样做的最接近的事是:通过REST在Spring MVC中进行身份验证
@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。 任何想法或更好的方法来实现我想实现的目标?
如果您的目标是将会话信息保存为基于cookie的令牌,那么您可能正在寻找[Remember-Me Authentication](http://static.springsource.org/spring-security/site/)文档/ 3.0.x的/参照/记住-me.html)。 –