我一直在尋找一種方法來通過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)。 –