2012-03-01 135 views
0

我有Asp.Net MVC 3站點在整個站點上都有SSL。 我確實在接受用戶名和密碼的控制器上執行了登錄操作,並返回用於在Web應用程序中調用其他操作的用戶的令牌。在操作調用我的REST API的背景中。Asp.Net MVC 3安全登錄

如何確保有效用戶不會進入我的網站,登錄後使用Fiddler提取令牌? 之後,他就可以使用該令牌做一些惡意的東西,叫我REST API ...

回答

1

我怎樣才能確保有效的用戶不會去我的網站,登錄和 使用後提琴手提取令牌?

你不行。但這是用戶認證授權的整點。您使用身份驗證來識別您的用戶(在他提供用戶名和密碼後),併爲他提供一個令牌(身份驗證cookie),稍後將使用它來訪問您的API。

您使用授權來限制用戶可以使用此令牌執行的操作。例如,你可以說,只有在屬於管理員組的用戶登錄可以訪問一個給定的控制器動作:

[Authorize(Roles = "Admin")] 
public ActionResult SuperSecret() 
{ 
    ... 
} 

現在,即使一個用戶登錄和posses認證令牌,他將不能夠訪問此控制器操作,除非他屬於管理員組。

+0

但是他對我的API有更高的權限(範圍),因爲他通過我的網站得到了TOKEN。所以我可以說他會像角色管理員那樣...... – 2012-03-01 08:53:45

+1

@RadenkoZec,這意味着你基本上沒有在你的網站上執行授權。您只實現了身份驗證。目前,如果用戶擁有TOKEN,他可以在您的網站上執行任何操作。而且,由於您將此令牌給予任何經過身份驗證的用戶,因此您無法阻止他重複使用該令牌。如果你想區分不同的用戶角色,你將不得不實施授權。 – 2012-03-01 09:01:26