2012-03-01 140 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