我在java中编写了一个RESTful API,其中客户端必须创建一个帐户(POST到/ user)然后登录(POST到/ login)。
现在我正在使用AngularJS为Web浏览器创建一个前端。问题是,当我创建用户时,尝试登录并输入一些login-secured-url' s
401未经授权
似乎每个请求都应该单独进行身份验证,我是对的吗?
当我编写REST服务时,我正在使用IntelliJ IDEA中的RESTful WebService测试客户端测试所有内容,而且它一直都在那里。
解决这个问题的方法是什么?
@ neo的 您有 RestAuthenticationSuccessHandler
@Component("successHandler")
public class RestAuthenticationSuccessHandler extends SimpleUrlAuthenticationSuccessHandler {
private RequestCache requestCache = new HttpSessionRequestCache();
@Override
public void onAuthenticationSuccess(final HttpServletRequest request, final HttpServletResponse response, final Authentication authentication)
throws ServletException, IOException {
final SavedRequest savedRequest = requestCache.getRequest(request, response);
if (savedRequest == null) {
clearAuthenticationAttributes(request);
return;
}
final String targetUrlParameter = getTargetUrlParameter();
if (isAlwaysUseDefaultTargetUrl() || (targetUrlParameter != null && StringUtils.hasText(request.getParameter(targetUrlParameter)))) {
requestCache.removeRequest(request, response);
clearAuthenticationAttributes(request);
return;
}
clearAuthenticationAttributes(request);
}
public void setRequestCache(final RequestCache requestCache) {
this.requestCache = requestCache;
}
}
我还有另一个课程,但是如果我添加了所有内容,帖子会变得太冗长,所以如果你(建议一个类名)需要以下任何代码,请告诉我: