2

可能是我的问题是疯了。Asp.net MVC身份验证如何验证工作

1)ASP.net MVC是无状态的,所以没有参与此会议。

如何进行身份验证模块的工作,你有哪些你可以点我明白了基本的身份验证的任何物品。

什么都存储在验证信息。

[新手MVC]

+0

你是什么意思“没有涉及的会话”?也许你会将会话状态与视图状态混淆 - 后者是一种仅适用于ASP.NET Forms的概念。 – 2011-03-10 11:52:31

回答

5

网络是无状态的。 ASP.NET和ASP.NET MVC都有创建应用程序状态的机制。像MVC一样倡导它,它为开发人员提供了对状态管理方式的更多控制,以及请求如何影响受管状态,而不是Web窗体。 Web Forms封装了不属于MVC的ViewState状态。 MVC模式允许您在更细粒度的级别上控制每个操作(包括管理应用程序状态)。这可能是您认为MVC是无状态的想法。

作为一个侧面说明,你应该倾向于使用TempDataDictionary超过HttpSessionState用于存储状态相关的数据,因为默认实现TempDataProvider是HttpSessionState的包装)。该模式稍有不同,但好文章可以在http://www.gregshackles.com/2010/07/asp-net-mvc-do-you-know-where-your-tempdata-is/

ASP.NET(和MVC)的认证通常工作通过利用Forms Authentication被发现。它可以在您的web.config中配置。 ASP.NET Authentication Configuration

如果您的客户端浏览器支持Cookie,默认行为是存储在cookie中的身份验证票证。

2

谁告诉你的ASP.net MVC是无状态的?无论如何,认证信息通常存储在加密的cookie中。这和webforms在这方面完全一样。

UPDATE

关于ASP.NET MVC,在这里看到了很多让你开始:http://www.asp.net/mvc

对于ASP.NET窗体身份验证,请参阅MSDN

+0

我想我看到一些他们提到的无国籍的视频。可能是我对此的理解不正确,请你能帮我加入并阅读关于此的文章。我想清除这个神话。 – bhushanvinay 2011-03-10 12:01:42

+0

ASP .Net MVC有时在控制状态('input','select'等)方面被称为无状态。我猜这就是混淆可能来自哪里。 – ilivewithian 2011-03-10 12:03:10

+0

@ilivewithian:没有什么能够阻止你维护MVC中的输入或选择状态。 – UpTheCreek 2011-03-10 12:42:48

0

从技术上讲,如果您向每个请求发送HTTP头授权,则可以无状态。