DM_SESSION_E_AUTH_FAIL for the Centera Accessing

背景Background

-Repository Data Dictionary Locales     : en, ja

-CONTENTSERVER/WEBTOP Version 6.5

-Webtop default language :Japanese (<default_locale>ja_JP</default_locale>)

-App Server OS language : English

-用戶能夠正常登陸Webtop,其他的操作沒有問題。只是打開Centera存儲的文件,特別是登陸後第一次打開一個文件總是失敗(80%),並且後臺會拋出這個異常

Users are able to login the Webtop Application properly, and normal operations are all fine except accessing contents stored in Centera. The first content accessing after login may be(80%) failed with the following exception

[DM_SESSION_E_AUTH_FAIL]error: "Authentication failed for user testuser with docbase mybase.";

ERRORCODE: 100; NEXT: null

at com.documentum.fc.client.impl.docbase.DocbaseExceptionMapper.newException(DocbaseExceptionMapper.java:52)

 

解決方案Solution

              在dfc.properties中加上 dfc.locale = ja

              Add dfc.locale = ja  to dfc.properties of the Webtop Application.

原因

服務器的OS是英語,但是webtop中的app.xml指定了<default_locale>ja_JP</default_locale>。在DA中會發現content server 爲1個user生成了2個session,導致連接Centra的衝突。當一個session連接到Centra並讀取數據的時候,另外一個session也試圖連接,這樣前一個會被踢掉並拋出異常,於是整個連接都失敗了。不確定是不是6.5的bug, 正在使用5.3並沒有這樣的問題。

As mentioned in the background ,the locale of my client’s host machine is English and the default_locale of the Webtop application is Japanese.In the case, when a users login the application, 2 sessions can be found via DA. Both of the sessions try to connect with Centera, hence one of them will be interrupted.Unfortunately, another won't work either as the interrupted session throws an exception to Client. I have version 6.5 and 5.3 on my server, confirmed only 6.5 has the issue.Now the question is why 2 sessions are created for 1 user?


正常的情況是

當一個用戶通過Webtop Application(IE) 連接ContentServer, ContentServer 獲取客戶端(APP SERVER)的dfc.locale來生成對應的session配置對象(它的session_locale屬性對應dfc.locale)。如果dfc.locale沒有設置,DFC就通過JVM來獲取服務器OS的語言並生成對應的session配置對象(s1)。接下來檢查Webtop Application 的app.xml中default_locale的設置,如果default_locale和前邊一系列動作獲取的語言不一致,剛生成的session對象(s1)則會被更新。

A session config object describes the configuration of a repository session. It is created when a client opens a repository session. The property values are taken from values in the client config object, the server config object, and the connection config object. session_locale  is the locale of the repository session. The value is obtained from the dfc.locale property of the client config object. If dfc.locale is not, the default value is determined programmatically from the locale of the client’s host machine. Then default_locale of Webtop Application will be verified, if it is different from the session_locale of the session object created earlier, the session object will be update according to the default_locale.

異常

session對象(s1)沒有被更新,而是ContentServer根據default_locale重新生成了一個session對象(s2),2個session同屬於一個用戶並且會隨機交替被使用。

I guess the issue is, the existing session is not updated but a new one is created somehow.The 2 sessions are used alternately and randomly.



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章