簡體   English   中英

如何僅將我的Sitecore控制器操作(MVC)保護為已登錄Sitecore的用戶?

[英]How to secure my Sitecore Controller Action (MVC) only to Sitecore Logged in Users?

我正在使用Sitecore MVC應用程序。 我已經編寫了一個Action方法來呈現Sitecore項目的元信息。 我在Sitecore MVC項目中編寫的操作方法已同時部署到CM和CD。

我想限制CD站點中的“操作”方法,並繼續在CM站點中使用。

使用:Sitecore 7.5,MVC4

dnstommy差不多在那里-對他的實現進行微小的更改就會使您到達那里。 不需要HttpPost屬性。

public ActionResult MetaData()
{
    if (Sitecore.Context.IsLoggedIn == false)
    {
        return new EmptyResult();
    }

    // build your model and return to the view
    return View();
}

返回EmptyResult()與在視圖上呈現空字符串相同,因此就好像呈現在頁面上不存在一樣。

如果您想進一步將事情鎖定為特定角色,則可以使用Sitecore.Context.User.IsInRole("ROLE NAME")進行檢查。

關於Sitecore.Context.ContentDatabase的注釋- 如果您在shell網站中,則設置為master 也就是說,如果您在內容編輯器中。

如果您正在CM服務器上查看站點或預覽站點,則Si​​teContext將是您的網站定義,並且如果您設置了content屬性,它將被啟用,否則它將為null。 因此,檢查您是否在CM服務器上不是安全的檢查。

暫無
暫無

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

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