2013-04-11 19 views
1

我想爲我的web應用程序設置自定義會話標識,我有alogorithm來生成會話標識我的web應用程序應該使用該算法來生成會話標識。 請建議我如何設置我的算法作爲在tomcat中的會話ID生成..設置自定義會話標識java(apache tomcat)

會話管理器 - >我試過這個,但它提供了完整的會話行爲修改控制,我只是想設置會話ID按我的算法沒有會話行爲更改

實施com.sun.entrprises.uui.uuidgenerator --->試過這個,但也無法理解究竟是如何做到這一點

請建議我簡單的解決方案只是設置我的算法中爲會話生成算法

注意:你可能會su提出不這樣做,但我需要它爲我的項目

回答

0

擴展org.apache.catalina.session.StandardManager應該做你想做的。 做這樣的事情:

public class MySessionManager extends StandardManager { 

    @Override 
    protected synchronized String generateSessionId() { 
     String sessionId = <Your session id generation algo>; 
     return sessionId; 
    } 
} 

之後,你有你的會話管理器,請按照this answer

+0

謝謝你,我做了上面的代碼我的算法中產生的SessionID,但在context.xml中當我設置 <經理的className =「tomcatdata.MySessionManager」>給出了錯誤造成 :拋出java.lang.ClassNotFoundException:tomcatdata.MySessionManager 我把MysessionManger類放在我的webapplication/Src/tomcatdata/MySessionManager中 – GaneshP 2013-04-11 12:21:58

+0

看起來好像tomcat找不到你的會話管理器impl。您是否已將自定義會話管理器部署到$ CATALINA_HOME?也看看這個答案:http://stackoverflow.com/a/10935726/1686330 – 2013-04-11 14:52:46

+0

btw:我見過你提到玻璃魚的其他問題(http://stackoverflow.com/q/15933744/1686330)。我不確定這是否適用於玻璃魚。對於Glassfish,你可以看看http://java.net/jira/browse/GLASSFISH-18994。 – 2013-04-11 15:06:26