2014-01-18 108 views
5

有沒有簡單的方法來確定一個網站是否是Sitecore自己的網站之一?Sitecore - 這是一個'內部'網站嗎?

基本上,我正在尋找的是簡寫:

var sitenames = new string[] {"admin","shell","login","service"}; // etc. 

if(!sitenames.Contains(Sitecore.Context.Site.Name)) 
    //do stuff 

我沒有看到在SiteContextSiteInfo類,尋找這個有益的東西。

我很高興自己寫這個功能。我只是想確保它不是已經隱藏在某個地方。

回答

10

查看web.config中的網站定義所有Sitecore內部事物都將域屬性設置爲Sitecore。

所以基本上是這樣的:

if (Sitecore.Context.Site.Domain != Sitecore.Security.Domains.Domain.GetDomain("sitecore")) 
{ 
    // [Do stuff here] 
} 
+0

但網站:modules_website的域名是 '外網'。那將如何被忽略?糾正我,如果我錯了。 –

4

關的@ Trayek的回答後,我寫這個擴展方法,它很好地工作。

namespace Extensions 
{ 
    public static class SiteContextExtensions 
    { 
     public static bool IsInternal(this SiteContext siteContext) 
     { 
      return siteContext.Domain.Name == "sitecore"; 
     } 
    } 
} 

用法:

if(!Sitecore.Context.Site.IsInternal()) 
    // Do stuff 
相關問題