【问题标题】:Alternatives to the baked-in ASP.NET authentication model内置 ASP.NET 身份验证模型的替代方案
【发布时间】:2014-03-22 05:22:18
【问题描述】:

当我查看开发人员如何在其他 Web 框架中实现登录和“身份验证”时,看起来他们大多数时候只是设置了一个服务器会话并在他们让人们进入之前检查它是否已设置。我们甚至做了这在当年的 ASP 经典中,它似乎工作得很好。

例如 回滚:http://www.codeproject.com/Articles/575551/User-Authentication-in-Ruby-on-Rails php:http://www.wikihow.com/Create-a-Secure-Login-Script-in-PHP-and-MySQL

实现自定义成员资格提供程序对于登录用户来说似乎是一个很长的路要走,当他们完成时说 Session.Abandon。坦率地说,我不确定自己是否了解不使用会员提供程序的安全风险,尽管我已经使用了很多年。

请提几点意见。

【问题讨论】:

  • 您打算如何保护静态内容?会话变量可用于控制谁有权访问您的经典 ASP 网页,但它们不会阻止客户端访问非 ASP 内容。
  • 我不是指内容,我指的是身份验证。与 ASP 经典无关。这与不想再使用表单身份验证有关:)
  • 好的,我明白了。我只是好奇您计划如何在不使用会员提供程序(如 ASP.NET 表单身份验证)的情况下保护您的网站内容。会话变量不会阻止人们直接热链接到您的静态内容。
  • @Bond Forms 身份验证也不保护静态内容不被浏览。无论您选择表单身份验证还是会话变量,您仍然需要将静态内容移动到无法浏览的位置(App_Data,在根目录之外),然后使用处理程序为其提供服务。您在处理程序的 ProcessRequest 方法中执行身份验证。

标签: php asp.net ruby-on-rails asp.net-mvc asp-classic


【解决方案1】:

表单身份验证不依赖于成员资格提供者。您可以单独使用表单身份验证,这是我过去所做的。这是一篇描述如何操作的文章:How to: Implement Simple Forms Authentication

没有什么可以阻止您使用 Session 变量来跟踪用户。只要您遵循基本的安全编码原则,这样做也没有安全隐患:

  1. 永远不要相信用户输入
  2. 在您的数据访问中始终使用参数/存储过程
  3. 加密/散列您存储的任何密码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 2019-08-31
    相关资源
    最近更新 更多