2017-10-13 72 views
3

我想:如何從普通的Servlet訪問VaadinSession?

@WebServlet(urlPatterns = "/TestServlet") 
public class TestServlet extends HttpServlet { 
    @Override 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    VaadinSession session = VaadinSession.getCurrent(); 
    // session is null 
    } 
} 

語境:我有幾個標準的servlet跟一般的Vaadin應用混合。他們處理例如一些下載或打印請求。但我需要一種方法來檢查登錄/權限。

+2

我不認爲你可以,但你可以做相反的事情,並訪問'VaadinSession'正常的會話(和存儲你所需要的存在)。 – Oleg

+1

@Oleg謝謝,我切換到'VaadinSession.getSession()'來存儲登錄信息等內容。從servlet通過HttpSession訪問它。 – Zalumon

回答

0

我認爲你可以使用spring security來達到這個目的。

請檢查這個答案,看看如何使用它 How does spring security work on a Servlet

+0

這就是如果他使用的彈簧,目前沒有說明。此外,雖然鼓勵與外部資源的鏈接,但它們可能很快變得過時/不可用。因此,如果您可以引用或添加基於鏈接內容的示例(有關[如何在此處回答](https://stackoverflow.com/help/how-to-answer)),請參閱 – Morfic

+0

謝謝爲指導。 – ensarg

+0

是的,謝謝你的鏈接,但我沒有使用Spring。 – Zalumon