亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

具有成員資格提供程序的ASP.NET MVC 4 Web API身份驗證

具有成員資格提供程序的ASP.NET MVC 4 Web API身份驗證

犯罪嫌疑人X 2019-12-10 10:43:35
我有一個使用Web API的ASP.NET MVC 4項目。在控制器上,我已使用[Authorize]屬性將類設置為需要授權。對于身份驗證,我使用的是ASP.NET成員資格提供程序,并將Web.Config設置為使用“表單”身份驗證。這是我被困的地方:一切工作正常,直到完成測試API的工作,并且我想使用[Authorize]屬性保護控制器,以便可以開始針對我的Membership Provider中的用戶測試身份驗證。因此,我啟動了Fiddler,并添加了Authorization:Basic屬性以及來自會員資格提供者的username:password進行了相同的調用,如下所示:我得到的響應是未經授權的401,在“驗證”下得到“沒有WWW驗證標頭”。然后,我意識到API正在尋找SHA1編碼的密鑰。因此,我從搜索中啟動了SHA1生成器,并為我的用戶名:password獲取了哈希,并按如下方式更新了我的請求標頭:這也不起作用,我得到相同的結果。同樣,我顯然也需要與服務器一起使用的某種“共享密鑰”來解碼我的用戶名/密碼。所以我的問題是:如何從服務器(或在這種情況下,VS VS 2012運行的虛擬IIS)中獲取此密鑰。如何使用此方法使用來自ASP.NET成員資格提供程序的用戶名/密碼在Fiddler中進行經過身份驗證的調用。我將如何在客戶端應用程序中使用它進行相同的調用(C#WPF應用程序)。與HTTP調用上的SSL結合使用時,這種方法最有效嗎?如果不是,那是什么?提前致謝!
查看完整描述

3 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

我自己無法在一個新項目中復制它。但是與此同時,我發現User主體在ApiController構造函數中是正確的,但在控制器方法中是錯誤的。在兩者之間是一個自定義MediaTypeFormatter。通過設置一些斷點,我看到調用鏈是:ApiController構造函數-> MediaTypeFormatter-> ApiController方法。盡管在格式化程序中我不使用任何與安全相關的內容,但主體還是被覆蓋了。如果我注釋掉global.asax中的格式化程序注冊,則主體保持正確。我需要繼續調試...

查看完整回答
反對 回復 2019-12-10
  • 3 回答
  • 0 關注
  • 432 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號