2010-09-12 206 views
9

我正在嘗試使用OpenRasta進行簡單的RESTful服務。此服務需要使用http基本身份驗證或(最好)摘要進行保護。使用OpenRasta進行身份驗證

環顧淨,有幾十網頁的寫作如何精彩OpenRasta是,它甚至支持摘要式身份驗證,但我一直沒能找到如何使那些或者爲我服務的單個實例。

將RequiresAuthentication放在我的方法或處理程序上似乎沒有任何作用。

有沒有人曾經這樣做過?或者它只是一個夢想軟件?

UPDATE:我放棄了開始工作,並與OpenRasta的Scott Littlewoods分叉。他改變了身份驗證的工作方式並使用他的實現,我設法同時執行了基本和摘要。

回答

1

查看OpenRasta.Security中的類。這是一個IAuthenticationProvider,您需要在容器中執行並註冊摘要以進入。

檢查調試日誌,如果在執行此操作後仍不起作用,並將其副本發送到郵件列表中,那裏的人員將能夠幫助你。

+0

把依賴於IAuthenticationProvider國際奧委會並沒有幫助,我的問題已經坐在OpenRasta谷歌組,只要這一個。至少我在這裏得到了一些反饋! – Khash 2010-09-14 12:14:48

+0

對不起,我一週沒有一臺筆記本電腦,並沒有像我應該那樣密切關注郵件列表。 [RequiresAuthentication]屬性將確保該調用僅對通過身份驗證的用戶(通過IPrincipal的默認.net身份驗證)成功。當您註冊身份驗證提供程序時,HTTP摘要處理程序將啓動,否則它不會。 – SerialSeb 2010-09-15 12:41:38

+0

你如何向容器註冊?在其他地方,您指向http://trac.caffeine-it.com/openrasta/wiki/Doc/DependencyInjection#Howaboutmyowninterfaces,但不會談論身份驗證。我實現了IAuthenticationProvider,並且我用[RequiresAuthentication]修飾了一個處理程序,所以我得到了提示進行身份驗證,但它似乎沒有打到我的Authentication類。 – pc1oad1etter 2010-09-29 17:40:05

1

我認爲問題在於使用Cassini(內置於VS.NET)進行調試。 Cassini不支持像IIS那樣的身份驗證。當我切換到使用IIS時,它開始提示我進行身份驗證。