2013-03-14 31 views
0

我有一個ASP.NET MVC 4應用程序正在使用CSLA.NET作爲我們業務邏輯的一部分。讀/寫權限是通過域帳戶AD處理的,與Application Pool Identity和.NET Impersonation用戶具有相同的帳戶。在我的本地機器上測試時,驗證運行完美。一旦將應用程序部署到我們的測試環境之一(dev或qa),我會收到似乎指向權限的異常。我已驗證程序集使用的用戶名確實是正確的用戶,但由於沒有適當的權限而無法設置任何字段的值。CSLA權限在部署到服務器時失敗

任何人都曾經歷過類似的事情嗎?

編輯:

Link to discussion on lhotka.net forums

回答

1

Web服務器是無狀態的,所以他們一般不記得頁面或服務請求之間的任何東西。這包括用戶的身份和角色。

如果您使用ASP.NET表單安全性(或類似方法),則使用.NET authn cookie令牌自動在服務器上重新創建用戶名,但這只是用戶名。

您有責任爲服務器上的每個回發/請求重新創建完整的主體/身份對象。

最簡單的方法是在global.asax文件中,通常在驗證請求事件中。 CSLA下載中有樣本顯示如何做到這一點,我在「使用CSLA 4」電子書系列中討論它。

此外,任何一本好的ASP.NET書籍都將討論恢復委託人的問題,因爲這不像Web開發問題那樣是一個真正的CSLA問題。

相關問題