2015-10-30 31 views
0

請耐心等待,我是相當新的處理身份驗證。我們所有的用戶都在同一個域中,並且在舊網站(Web Forms,VB.NET)中,例如,我根據用戶是否處於特定角色(管理員或IT)來隱藏或顯示項目。使用食人魚CMS與MVC5和Windows身份驗證

我剛剛在MVC5新站點上安裝並測試了Piranha 2.2.5,我喜歡它的功能。它應該大大減少我爲人們編碼的東西的數量。 (我真的很驚訝,我們還沒有CMS。)但是,我注意到piranha經理使用表單身份驗證。這對經理頁面來說很好;只有少數人登錄才能真正上傳內容。

但是,如何在我的佈局和其他頁面上保留檢測Active Directory/Windows用戶身份的能力?我們有成百上千的人員流動率很高,如果讓他們每個人都以唯一的身份登錄到企業內部網絡,那麼時間限制就太大了。另外,我並不需要任何有效的身份驗證來登錄主站點。我們只允許所有用戶查看所有頁面,並且現在不存儲任何個人信息。經理基本上只是得到一些額外的菜單項。

我讀過一些關於試圖將食人魚管理的頁面分隔成一個單獨的區域?或者我需要一個單獨的網站?如果他們在一個單獨的網站/項目中,我還能夠將食人魚內容頁作爲部分頁面嵌入其他頁面中嗎?很抱歉,如果這些是非常基本的問題我搜索了很多,但仍然卡住了。也許是星期五 - 大腦。謝謝。

回答

0

我認爲你需要將Piranha置於被動模式,在條目下有一個web.config文件中的條目。這應該允許MVC做路由而不是Piranha。 (當我這樣做時,我無法訪問管理員區域,但我也沒有花太多時間查看原因)

你也可以看看只用Piranha來管理你的用戶&從這裏返回Web Forms代碼MVC http://piranhacms.org/docs/gists/simple-login-form然後可能將食人魚用戶轉換爲活動目錄用戶?從鏈接

代碼:

<form method="post" action="@Href("~/account/login")"> 
    <input type="hidden" name="returnurl" value="@Href("~/home/mypage")" /> 
    <input type="hidden" name="failureurl" value="@Href("~/home/mypage?msg=err")" /> 

    <label>Username:</label><input type="text" name="login" /> 
    <label>Password:</label><input type="password" name="password" /> 

    <button type="submit">Login</button> 
</form> 

在同一頁面上的評論:

你可以叫Piranha.Models.SysUser.LoginUser(..)& & Piranha.Models.SysUser .LogoutUser()

希望你指出正確的方向!

+0

這也可能有用:http://piranhacms.org/draft/the-magic-of-mvc-routing-with-multiple-areas – rbuddicom

+0

如果我把食人魚置於被動模式,我無法獲得正確的路由。食人魚將把我通過管理器創建的所有頁面放在/ home /下,這對我的網站網頁設計來說非常有限。我無法找到解決方法。我也有問題訪問經理。我不確定我是否理解你使用食人魚管理用戶的建議?你是否建議像模擬一樣,所有用戶都會自動在同一個帳戶下登錄? – Sarah

1

如果我沒有錯誤,可以使用web.config爲Web應用程序的不同部分配置不同的身份驗證設置。

換句話說,應該可以使用Windows身份驗證的公共頁面和窗體/管理器下面的所有內容。

這樣做的唯一缺點是預覽功能將無法正常工作,因爲它取決於正在預覽的公共頁面可以訪問表單經過身份驗證的管理員用戶。

編輯

和關於對URL的 「家」 的前綴:■有一個配置選項叫做PrefixlessPermalinks,消除這個

問候

哈坎

+0

感謝您的光臨!哦,是的,你是對的,我確實設置了無前綴的固定鏈接,我對此不甚明瞭。所以我應該把我的網頁分成不同的區域,對吧?我希望在內容管理下進行的任何頁面都應該放在經理區域,而我的其他頁面可以放在家中和其他自定義區域之下?我將不得不查找如何在web.config中設置它,但我很高興聽到這是可能的! – Sarah

+0

另外,如果我將內容管理的頁面作爲部分頁面嵌入到我的windows-auth頁面,這種方式是否可行? – Sarah

相關問題