簡體   English   中英

使用自定義網頁腳本在Alfresco中修改審核記錄

[英]Modify audit trail in Alfresco using a custom webscript

我正在編寫一個自定義Java Web腳本,該文檔接受文檔noderef和一個外部用戶名(字符串值)作為參數。 我啟用了審核,並且在調用Web腳本時審核日志顯示對文檔的訪問。 現在,我想知道是否可以修改審核跟蹤,以便當它顯示該特定文檔的日志時,還可以顯示外部用戶的名稱。

網絡腳本網址: http:// localhost:8080 / alfresco / service / node / {noderef} / user / {user}

調用此命令后,我在日志中得到以下輸出:

Extracted audit data: 
    Application:    AuditApplication[ name=alfresco-access, id=1, disabledPathsId=2]
    Values:         
        /alfresco-access/transaction/sub-actions=readContent
        /alfresco-access/transaction/action=READ
        /alfresco-access/transaction/node=workspace://SpacesStore/c21db432-4ad6-4af2-8bcf-78bc89724afe
        /alfresco-access/transaction/type=cm:content
        /alfresco-access/transaction/path=/app:company_home/app:shared/cm:audit-services-context.xml
        /alfresco-access/transaction/user=admin

    New Data: 
        /alfresco-access/transaction/sub-actions=readContent
        /alfresco-access/transaction/action=READ
        /alfresco-access/transaction/type=cm:content
        /alfresco-access/transaction/user=admin
        /alfresco-access/transaction/path=/app:company_home/app:shared/cm:audit-services-context.xml

我也想將{user}存儲在審計跟蹤中。

您可以嘗試使用AuthenticationUtil.setFullyAuthenticatedUser 我認為這應該對您有幫助。 但是我沒有測試。

您可能不希望這樣做,至少不是按照您描述的方式,而不是沒有采取額外的安全預防措施。

恕我直言,這違反了安全標准,如果管理員需要閱讀文檔,則該操作需要使用其用戶名進行記錄,如果普通用戶需要訪問文檔,則需要對該操作進行正確的身份驗證。

從小的上下文來看,我想說這實際上是與不與Alfresco共享SSO的其他某些應用程序的集成。 因此,我建議以下解決方案:

  • 在Alfresco和您的應用程序之間使用適當的SSO,讓相關用戶對Alfresco中的正確端點執行ping操作,然后讓SSO為您正確驗證請求。

  • 使用共享機密(例如共享密碼短語在請求+適當的身份驗證子系統或請求過濾器中對權限名稱進行編碼編碼以處理該名稱)或密鑰對(例如solr和alfresco之間的securecomms)可以安全地傳遞請求的權限信息

  • 使用系統帳戶(最好不是admin,而是專用於此用例/應用程序集成的帳戶)為有問題的用戶生成有效的alf_ticket,並將您的票證附加到請求中。 (當然,您的“模擬” Web腳本在運行該片段以從runAsSystem塊獲取alf_ticket之前,需要檢查正確的系統/集成用戶名)。 在這種情況下,我也建議您不要為此使用管理員帳戶,而應使用除此用例外完全沒有權限的用戶。

如果您選擇使用現有的快速實施方案,則建議至少使用以下方法:

  • 您需要確保沒有任何用戶可以ping通該Web腳本,並且只有admin / system用戶才能實際訪問該Web腳本。

  • 您可能應該將整個模擬操作記錄在審核記錄中(使用相同的審核條目或使用單獨的審核條目),這樣很顯然這實際上是代表用戶而不是由用戶直接進行的操作。用戶自己

  • 如果您將有問題的Web腳本用於讀取節點內容以外的其他操作(如果您的onReadContent行為也具有令人討厭的AuthenticationUtil.setFullyAuthenticatedUser ,也可能是這種情況),並且您需要將該操作記錄為系統/最初通過身份驗證的用戶,您可能會很難做到這一點...並且應該切換到更可靠的方法!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM