2016-02-18 126 views
-2

我正在製作一個並不意味着被瀏覽器使用的servlet,它將被一個將使用https請求的Java應用程序使用。如何註銷?

到目前爲止,我已經成功地跟隨http://docs.spring.io/spring-security/site/docs/current/guides/html5//helloworld.html。 如果我試圖訪問http://localhost:8080/myservlet/MainServletClass,它將我重定向到http://localhost:8080/myservlet/login如預期,但我不明白,我應該如何使用的方法從http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html註銷

+2

您需要正確標記您的問題得到任何類型的真正答案。嘗試標記您正在使用的實際軟件/框架名稱,或者至少包含所涉及的語言。 – daveydave400

+0

我從http://spring.io/questions問,所以我認爲這是某種形式的內部計算器啄的,沒有注意到它重定向到的http://stackoverflow.com – Guedez

+0

可能的複製[如何手動登錄出帶彈簧的安全用戶?](http://stackoverflow.com/questions/5727380/how-to-manually-log-out-a-user-with-spring-security) – Gimby

回答

0

你並不需要使用HttpServletRequest,按照guide you linked in your question.

使用標準的Spring Security的例子形式登出:

<body> 
    <div class="container"> 
    <h1>This is secured!</h1> 
    <p> 
     Hello <b><c:out value="${pageContext.request.remoteUser}"/></b> 
    </p> 
    <c:url var="logoutUrl" value="/logout"/> 
    <form class="form-inline" action="${logoutUrl}" method="post"> 
     <input type="submit" value="Log out" /> 
     <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/> 
    </form> 
    </div> 
</body> 

使用這種形式,如果您使用的是最新版本的Spring Security將驗證您登錄的用戶。

如果沒有,您需要確保行動的配置.logoutUrl()配置相匹配你的春季安全配置形式。

+0

我其實就這個問題和放棄了,已經設法使用netty而不是servlet,所以我不知道這是否正確。我應該刪除問題還是假設這個答案是正確的?或兩者都不? – Guedez

+0

那麼這是來自Spring樣本並且完美的作品。 – dkanejs