假设我已经编写了自己的认证模块,实现IHttpModule
。这不是真的做到了,但有很好的资源,所以我可以弄明白。替换ASP.NET中的defaut认证模块
还有关于如何将自定义创建的模块添加到Web.config
的教程。但我怎么能取代一些默认模块?那我如何从执行路径中删除默认验证模块?
我可以从Web.config
中删除以下几行吗?
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880"/>
</authentication>
如果我删除他们将默认身份验证模块仍然工作?
因为即使我不使用它,也不需要删除该模块......但它会节省一些处理器时间,我会感觉更好。
这很容易,而不是难的部分:我可以取代HttpContext
执行?我有我自己的会话类Session
,我不希望HttpSessionState
在HttpContext
。我也想替换HttpContext
的User
财产。所以我想我需要创建自己的实现HttpContext
并强制我的应用程序以某种方式使用它。 我该怎么做?
请随时根据自己的意愿自行回答我的问题的任何部分或所有问题。
通过替换身份验证,会话等解决您的真正问题是什么?现有的ASP.NET运行时有哪些限制?也许你可以看看ASP.NET以外的其他东西? – 2011-03-13 01:01:21
为什么不写你自己定制的'MemebershipProvider'? – 2011-03-13 01:01:24
@Sanjeevakumar Hiremat:没有真正的限制......我只是不喜欢默认的会员系统 - 它迫使我存储密码,安全问题和其他一些人认为我不需要(我使用OpenID身份验证) 。所以对我的数据模型来说感觉不太自然。它也将会话视为持续打开浏览器的事件......我想保留它,直到它们记录为止(如SO)。最后,我想让一个用户有更多的会话可能。考虑到所有这些,我决定编写我自己的会话系统会更加清晰和容易,而不是尝试调整现有的 – drasto 2011-03-14 15:24:58