2013-03-08 82 views
0

我被MVC4中的自定義授權所迷惑。 我已經實現了一個自定義的安全屬性(基於System.Web.Mvc.AuthorizeAttribute),工作正常,現在我開始用web api擴展我的項目。但是,似乎web api需要使用System.Web.Http.AuthorizeAttribute(?)。MVC4和Web API中的自定義授權

我無法對web api和標準mvc頁面使用相同的授權嗎?

回答

0

簡單地說:不,你不能。這些系統是分開製造的。微軟未來可能會合並這些產品。

+0

哇,這似乎令人難以置信的愚蠢..所以我實際上必須創建兩個幾乎相同的類,並手動確保開發人員不應用錯誤類型的授權屬性的不同行動? – Bjorn 2013-03-08 12:10:33

+0

好的,我個人喜歡把類放在同一個文件中,名字如下:'MVCAuthorizationAttribute'和'APIAuthorizationAttribute',以防止開發人員使用錯誤的名字,但這是你的調用。我實際上試圖創建一個通用屬性,它將直接指向正確的屬性(它會檢查它是什麼類型的控制器),但是如果沒有給出參數或其他東西,這是不可能的。 – Rob 2013-03-08 12:15:32

+0

是的,這似乎是這樣做的... 我必須說,自從微軟推出MVC以來,我一直對他們的新組件和框架印象深刻,但是這個有點令人失望。 – Bjorn 2013-03-08 12:20:24