2014-02-11 136 views
3

要訪問我有很多的XPages數據庫隱藏單個的XPages,有時一個XPage沒有準備好生產,有時我只是想繼續在數據庫中一些不使用XPages用戶可以訪問它們。如何從一個網頁瀏覽器

在Domino Designer XPages中查看有作秀和筆記隱藏設計和網頁列,但沒有發生改變這些列的值。

enter image description here

我想知道是否有隱藏從一個網頁瀏覽器正在訪問未做更改的XPage本身一個XPage的方式。即更改Notes/Web值或給它們一個特殊名稱?

注:我正在尋找一種方式來做到這一點沒有添加或更改代碼

回答

2

沒有選擇黯然隱藏(對於增強請求創建一個PMR)。

你可以嘗試用不必在生產服務器上運行正確的簽名簽署的XPages。這樣用戶將無法呈現頁面。

+0

這個答案的基礎上的限制:「我想知道是否有隱藏從一個網頁瀏覽器正在訪問未做更改的XPage本身一個XPage的一種方式。」 –

+0

是的,你回答了我的問題 –

6

你可以使用XPage上的ACL將其設置爲一個角色,一個普通用戶不會有:

<xp:this.acl> 
     <xp:acl> 
      <xp:this.entries> 
       <xp:aclEntry right="NOACCESS" fullName="Anonymous" 
        loaded="true" name="Anonymous" type="ANONYMOUS"> 
       </xp:aclEntry> 
     </xp:this.entries></xp:acl> 
</xp:this.acl> 

enter image description here

0

最大的可能是我真的不明白的問題:除了使用Notes客戶端,我們沒有用戶可以從中選擇「受限」頁面的菜單。如果它可以從某種導航器訪問,那麼可能應該從刪除任何鏈接開始。

除了:如果畢竟用戶管理訪問受限制的網頁,他們很可能會接受某種醜陋的標準HTTP錯誤代碼,通常情況下我們應該儘量避免在首位。

因此,而不是限制或隱藏一個頁面簡單的解決方案可能是使用

context.redirectToPage("/someUnrestrictedPage.xsp") 

我在與一個匿名的起始頁應用程序中使用這種無條件(或條件)重定向。將該頁面顯示給經過身份驗證的用戶是沒有用的,因爲它很可能會混淆它們。因此,如果非匿名用戶設法訪問它,例如通過瀏覽器書籤他們立即重定向到其他頁面。我將代碼放入首頁的afterPageLoad中。

4

雖然我不知道的特定頁面上實現這一點沒有實際修改這些頁面的任何方式,我建議使用頁面ACL功能:

  1. 創建EDITOR訪問角色條目
  2. 創建與NOACCESS

默認項,使XML源代碼將類似於以下內容:

<xp:view xmlns:xp="http://www.ibm.com/xsp/core"> 
    <xp:this.acl> 
     <xp:acl> 
      <xp:this.entries> 
       <xp:aclEntry right="EDITOR" type="ROLE"> 
        <xp:this.name><![CDATA[[Developer]]]></xp:this.name> 
       </xp:aclEntry> 
       <xp:aclEntry right="NOACCESS" type="DEFAULT" /> 
      </xp:this.entries> 
     </xp:acl> 
    </xp:this.acl> 

當頁面準備由最終用戶訪問,您可以更改訪問級別的默認項或者乾脆刪除的頁面ACL完全。同時,只有具有[Developer]角色的用戶才能訪問該頁面。

免責聲明:目前更優雅的方法是使用版本控制。我強烈建議您觀看NotesIn9 episode 131,瞭解如何使用GitFlow/HgFlow等流程輕鬆管理「功能分支」。這可以讓你開始的實驗或長期的發展變化,偶爾讓他們進步,但切換回「主人」,每當你想推到用戶的拋光變化,而不要麼糙米代碼或失去你的IN-生產感染進度功能。