ASP.NET MVC 3用户身份验证

18

常见的简单用户验证方法有哪些?

同时,您能根据不同区域使用不同的身份验证方案吗?

编辑

我正在创建一个电子商务网站,需要对每个用户进行保护措施以执行某些操作。那么如何实现这一点呢?它需要只允许已认证的用户访问他们的信息。


为什么还要重新造轮子呢?如果您使用.NET,那么在创建电子商务网站时,请从好的基础平台开始,例如http://www.nopcommerce.com/ ,这是一个ASP.NET 4.0解决方案。 - balexandre
3个回答

29

在MVC中进行身份验证有几种选项:

内置的Forms身份验证可以让您基于角色、用户等方面限制对应用程序不同区域的访问,而且使用[Authorize]属性实现非常容易。

以下内容需要用户已登录:

[Authorize]
public ActionResult YourActionNameGoesHere()
{
}

同样地,以下内容要求用户必须已登录并且是管理员:

[Authorize(Roles="Administrator")]
public ActionResult YourActionNameGoesHere()
{
}

这只是一些实现它的方法,你可以看到有许多不同的方法可以实现这一点 - 我希望这可能会在帮助你决定方面提供一些启示。


MVC团队的安全专家Levi表示,只有一种安全的身份验证方式。请查看我的答案。 - Eric J.

8

1
关于子类化的引用只适用于MVC版本1和2。无论如何,MVC3+可以使用GlobalActionFilter。 - DarrellNorton

3
请在使用VS 2010创建互联网应用程序时前往您的模型文件夹。您会看到一个cs文件,该文件包含用户身份验证的示例结构。
请记住:ASP.NET MVC不是独立的框架。它是建立在ASP.NET上面的,因此您也可以在MVC上使用System.Web.Security.Membership类。
此外,请检查您视图文件夹中的Account文件夹,您将在其中找到一些视图示例。
希望这有所帮助。

2
在使用MVC3创建空的Web应用程序时,这些文件夹和类不会被包含在内,因此可能会有点误导... - Yngve B-Nilsen
@Yngve,你看到了吗?我指出了“当你创建一个互联网应用程序时”,以澄清这一点……我想没有什么混淆了。 - tugberk
@CoffeeAddict 对我来说不糟糕。 - tugberk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接