在我們基於sitecore的網站中,我們有自定義sitecore模塊供sitecore管理員使用。在每個模塊內部,我們進行憑證檢查以查看當前用戶是否爲sitecore用戶。Sitecore預覽功能將活動域名切換到外部網絡
using Sitecore.Security.Authentication;
if (AuthenticationManager.GetActiveUser().Domain.Name != "sitecore")
{
//not permitted to use the admin module
}
此檢查允許管理員只要登錄到sitecore門戶即可使用自定義模塊。但問題是,每當他們使用sitecore「預覽」功能預覽某個項目時,當前活動用戶將被更改爲「extranet \ Anonymous」。從此之後,我們的自定義模塊認爲用戶不是sitecore管理員,並且拒絕訪問模塊。
如何克服這個問題?我們需要安全檢查我們的管理模塊以及預覽功能。
在此先感謝!
您使用哪個版本的Sitecore?在您檢查用戶域的頁面生命週期的哪個點上?我在我的項目中檢查過它,並且在預覽期間,我得到了** admin **用戶的「sitecore」域。 'Sitecore.Context.User.GetDomainName()'也會爲你返回外部網嗎?你確定'SecurityDisabler'沒有在代碼中用於預覽嗎? –
感謝您試用Maras。我們正在使用Sitecore 6.6.0(修訂版120918)。我檢查Page_Load中的域。 'Sitecore.Context.User.GetDomainName()'也給出了相同的結果。不,我們不在公共網站上使用SecurityDisabler。 (我們偶爾會在定製代理中使用它) – ravinsp