2011-09-15 19 views
2

alfrescoのデフォルトWebスクリプトを使用してユーザーのチケットを取得していますが、取得したチケットが有効になるまではわかりません。Alfrescoチケットの有効性

また、私はalfrescoのデフォルトのログインWebスクリプトの取得したXMLレスポンスからチケットを抽出しています。

チケットには有効期限がありますか、またはチケットが取得されてもセッションの有効期限まで有効期限はありませんか?

答えて

5

屋外認証チケットを処理する最善の方法は、手動で処理することです。例えば。チケットを取得するには、OOTBのWebスクリプトを使用します。

http://localhost:8080/alfresco/service/api/login?u=admin&pw=admin 

TICKET_29ced6613a114294fa4bb9e67bf663112076f3d9などの返品チケット(抽出が必要)。操作のいずれかの種類のために、このチケットを使用する際に

さて、これはここで注意すべきHTTP GET法ベースのWebスクリプト

GET /alfresco/service/api/login/ticket/{ticket} 

http://localhost:8080/alfresco/service/api/login/ticket/TICKET_29ced6613a114294fa4bb9e67bf663112076f3d9?alf_ticket=TICKET_29ced6613a114294fa4bb9e67b663112076f3d9 

事があることであることをOOTBの屋外ウェブscript.Noteを使用して、チケットの有効性を確認してみてください?alf_ticket={ALFRESCO_TICKET}を追加することによってもこのWebスクリプトを認証する必要があります。それ以外の場合は動作しません。

最後にあなたのことが終わったら、常にOOTB屋外ログアウトウェブスクリプトを使用してログアウトしてください。これは、あなたはそれが動作しませんそれなし?alf_ticket={ALFRESCO_TICKET}を追加しても、このウェブスクリプトを認証する必要が再び

DELETE /alfresco/service/api/login/ticket/{ticket}). 

http://localhost:8080/alfresco/service/api/login/ticket/TICKET_29ced6613a114294fa4bb9e67bf663112076f3d9?alf_ticket=TICKET_29ced6613a114294fa4bb9e67bf663112076f3d9 

HTTP DELETE法ベースのWebスクリプトであることに注意してください。

このようにすれば、適切な認証を保証することができます。また、システムが古いチケットで過負荷になることもありません。

P.S. http://wiki.alfresco.com/wiki/Repository_RESTful_API_Reference#Logout

+0

各ユーザーのリクエストに新しいチケットを強制的に適用する方法はありますか?キューメカニズムを呼び出すが、テストでは複数のチケット要求が同じチケットを返すことがわかった。 – TheNorthWes

8

のAlfrescoリポジトリに設定された次のプロパティは、デフォルト値と一緒に、一時間もするチケット寿命を設定します。

authentication.ticket.validDuration=P1H 

あなたはusual wayで、このようなプロパティをオーバーライドすることができます。意味のある値はDurationクラスに記述されています

* The lexical representation of duration is 
* PnYnMnDTnHnMnS. 
* 
* P is a literal value that starts the expression 
* nY is an integer number of years followed by the literal Y 
* nM is an integer number of months followed by the literal M 
* nD is an integer number of days followed by the literal D 
* T is the literal that separates the date and time 
* nH is an integer number of hours followed by a literal H 
* nM is an integer number of minutes followed by a literal M 
* nS is a decimal number of seconds followed by a literal S 

は、あなたが認証した場合、デフォルトでは、チケットの成功の用途は、たとえば、1時間のチケット有効期限与えられたことを意味し、ウェブスクリプトをその有効性を更新しますのでご注意くださいその世代から59メートル後にチケットを使用して呼び出すと、その有効期間はさらに1時間に延長されます。

チケットのライフサイクルは完全に設定可能であるように、利用可能なオプション(例えばのみをtrueにoneOffを設定すると、指定されたチケットの一つの使用を可能にする)を参照するauthentication-services-context.xmlで定義さticketComponentスプリングビーンを見ています。

+0

ありがとう、しかし、私はログインWebスクリプトを使って得たxmlからチケットを抽出し、ウェブスクリプトのためにそれを使用しました、そして、サーバは8時間以上アイドル状態のままです。私は戻ってきて、同じスクリプトIDそれはうまくいった。これは、デフォルトで1時間であるため、誰がこの動作を制御するのか疑いの余地はありませんか?ここにはいくつかの検証メカニズムが必要です。 – Finn

関連する問題