【问题标题】:Authentication in asp.net is it really required?asp.net 中的身份验证真的需要吗?
【发布时间】:2014-03-10 06:44:28
【问题描述】:

我是身份验证概念的新手,因此尝试探索身份验证和不同类型的身份验证..

我的第一个疑问是,当我在 google 上搜索时,它说默认身份验证是 webproject 的 windows 身份验证,但是当我看到我的新 webproject 时,它在我的 web.config 文件中显示为 Forms 身份验证

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>

asp.net 中 web 项目的正确默认身份验证是什么?

我的另一个疑问是,是否真的需要在 asp.net 中使用身份验证和授权,因为我在使用 mvc 项目时所做的是,当用户登录时,我检查数据库是否有用户 ID 和密码是否匹配,如果是,则检索该用户的 roleId,然后授予该用户具有权限的菜单?

【问题讨论】:

  • 这取决于您的需要。说明你需要什么,你可能会得到正确的答案
  • 我只是在学习身份验证概念,所以想弄清楚...当我们看到像 gmail 等日常公共网站时,我有一个登录表单,我们真的需要使用身份验证和授权来授予访问资源

标签: asp.net authentication


【解决方案1】:

是的,默认身份验证是 Windows 身份验证。无论您在 web.config 上键入什么内容,如果您没有授予读取权限,您的页面首先通过 windows 身份验证,您要么看不到它们,要么提示输入密码。

在 IIS 上,您可以在此处看到公共用户:


(来源:planethost.gr

如果您不授予该用户访问权限,您将看不到您的网页。有关此答案的更多详细信息:How to set correct file permissions for ASP.NET on IIS

现在关于您的问题,如果您真的需要在 asp.net 中进行身份验证和授权。你不需要任何东西——但你会尝试重新处理它吗?您是否知道并完全理解这是如何工作的,并且您的代码是否重复? asp.net 是一个很好的健壮的、可立即使用的身份验证模块,您可以轻松扩展它。

从你所说的,你检查你的数据库并验证你的用户,然后好吗?你怎么知道你的用户是下一页的那个?你如何控制它,你如何注销你的用户,你如何确保中间人没有窃取他们的密码和凭证?

【讨论】:

    猜你喜欢
    • 2016-05-19
    • 2011-07-11
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    • 2012-10-31
    • 2013-05-17
    相关资源
    最近更新 更多