我是身份验证概念的新手,因此尝试探索身份验证和不同类型的身份验证。
我的第一个疑问是,当我在google上搜索它说默认验证是webproject的Windows身份验证,但当我看到我的新webproject它在我的web.config文件中显示为Forms身份验证
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
asp.net中webproject的正确默认身份验证是什么?
我的另一个疑问是,是否真的需要在asp.net中使用身份验证和授权,因为我使用mvc项目我所做的就是当用户登录时我检查了数据库是否有用户ID和密码匹配,如果是,则检索该用户的roleId,然后授予用户拥有权限的菜单?
答案 0 :(得分:1)
是的,默认身份验证是Windows身份验证。无论你在web.config上输入什么内容,你的网页都会首先通过Windows身份验证,如果你没有给予读取许可,你就看不到它们,要么提示输入密码。
在IIS上,您可以在此处看到公共用户:
http://www.planethost.gr/so/Auth01.jpg
如果您不授予该用户访问权限,则无法看到您的网页。有关此答案的详细信息:How to set correct file permissions for ASP.NET on IIS
现在就你的问题,如果你真的需要在asp.net中进行身份验证和授权。你不需要任何东西 - 但你试图重新发生它吗?您是否知道并完全理解其工作原理,并且您的代码是否重复? asp.net是一个非常强大的,随时可用的身份验证模块,您可以轻松扩展。
根据您的说法,您检查数据库并验证您的用户,之后好吗?你怎么知道你的用户是下一页的用户?你如何控制,如何注销你的用户,你如何确保中间的人没有窃取他们的密码和凭证?