2015-12-02 33 views
0

處理我有一個會話範圍的bean重新託管bean:@SessionScoped當異常是由PrimeExceptionHandler

@SessionScoped 
public class UserSession { 
    User user; 
} 

在我LoginView,我拋出一個SecurityException:

throw new java.lang.SecurityException("You need to login!"); 

將由被重定向web.xmlSelectUserBean

現在這裏是我真的不明白的奇怪的事情:在我扔SecurityExceptionUserSession具有編號[email protected]和用戶Foo。現在在SelectUserBeanUserSession有一個新的id和用戶是null

在我faces-config我有Primefaces異常處理:

<el-resolver>  
    org.primefaces.application.exceptionhandler.PrimeExceptionHandlerELResolver 
</el-resolver> 

<factory> 
    <exception-handler-factory> 
     org.primefaces.application.exceptionhandler.PrimeExceptionHandlerFactory 
    </exception-handler-factory> 
</factory> 

取出後,它將按預期工作。對此有何想法?

爲什麼會發生這種情況?我以爲它是一個SessionScoped bean,它必須是相同的值。

回答

0

鏈中的某些東西創建了新的會話,ergo您獲得了一個新的會話bean。

相關問題