问题标签 [forms-authentication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2345 浏览

asp.net-mvc - ASP.Net MVC - 使用外部 URL 形成身份验证

我们的组织有一个用于表单身份验证的中央解决方案。我正在尝试实现一个使用此外部 URL 的 ASP.Net MVC 应用程序 - 它一直工作到 RC!被释放了……

这是正在发生的事情

在 ActionAttribute 扩展中

如果未找到,我检查 s session var 检查是否找到请求数据卡盘,如果未找到则设置 session var - 如果找到则重定向到外部 URL 继续。

问题是,直到我更新到 RC1,这才有效。从那时起,有太多请求被发送到外部 URL,以至于它检测到 DoS 攻击并将我拒之门外!

我删除了重定向代码并将其替换为 Forms Auth 的 web.config 更改 - 同样的事情发生了......

0 投票
3 回答
12376 浏览

asp.net-mvc - 如何在 IIS 7 下为 ASP.Net MVC 应用程序的匿名用户创建本地用户配置文件?

我一直在试验 ASP.Net MVC,并且遇到了一个可能与 MVC 无关的问题。但我无法在默认 MVC 应用程序(创建新 MVC 项目时由向导创建的应用程序)中获得身份验证,以便在 Windows 7 上的 IIS 7 下正常工作。

如果我在 Visual Studio 环境下运行,它可以工作,但如果我将设置切换为在 IIS 下运行,我会在尝试提交登录或注册时遇到以下异常:

由于检索用户的本地应用程序数据路径失败,无法生成 SQL Server 的用户实例。请确保用户在计算机上有本地用户配置文件。连接将被关闭。

我相信这是因为该网站在我自己的 Visual Studio 帐户下运行,但在 IIS 中的 IUSR 帐户下运行。到目前为止,谷歌对异常消息的搜索一直没有帮助。

那么,可以为 IUSR 帐户创建本地用户配置文件吗?如果是这样,怎么做?我还应该做些什么来让 SQLExpress 引擎在 IIS 7 中的匿名帐户下工作?

我也尝试将 IIS 网站配置为使用我的帐户,但由于这是我的家用计算机,我的帐户没有密码,而且似乎 IIS 不会让网站配置为使用没有密码的帐户。或者,由于这是我第一次使用 IIS 7,并且配置感觉与 IIS 5/6 非常不同,我只是缺少正确的设置,可以让我配置用于匿名访问的帐户。

编辑:一些附加信息。如果我清空 App_Data 文件夹并从 IIS 重试,SQLExpress 会尝试创建我的数据库并失败,但异常消息包含更多信息以及以下建议。

SQLExpress 数据库文件自动创建 错误:

连接字符串使用应用程序 App_Data 目录中的数据库位置指定本地 Sql Server Express 实例。提供者试图自动创建应用程序服务数据库,因为提供者确定该数据库不存在。成功检查应用程序服务数据库是否存在并自动创建应用程序服务数据库需要以下配置要求:

  1. 如果应用程序 App_Data 目录尚不存在,则 Web 服务器帐户必须对应用程序目录具有读写权限。这是必要的,因为如果 App_Data 目录不存在,Web 服务器帐户将自动创建它。
  2. 如果应用程序 App_Data 目录已存在,则 Web 服务器帐户只需要对应用程序 App_Data 目录的读写权限。这是必要的,因为 Web 服务器帐户将尝试验证 Sql Server Express 数据库是否已存在于应用程序 App_Data 目录中。从 Web 服务器帐户撤消对 App_Data 目录的读取访问权限将阻止提供程序正确确定 Sql Server Express 数据库是否已存在。当提供程序尝试创建现有数据库的副本时,这将导致错误。需要写入权限,因为在创建新数据库时会使用 Web 服务器帐户凭据。
  3. 机器上必须安装 Sql Server Express。
  4. Web 服务器帐户的进程标识必须具有本地用户配置文件。有关如何为计算机和域帐户创建本地用户配置文件的详细信息,请参阅自述文件。

我已经非常广泛地确认前三个建议已经得到满足。第四个似乎是我的问题的原因,但我不知道该怎么做。尽管该建议声称有一个描述它的自述文件,但我无法找到该文件。

0 投票
6 回答
8814 浏览

asp.net - Asp.net 表单身份验证登录循环

当您使用无 cookie 会话并且无法将 login.aspx 的名称更改为 httphandler 时,如何解决无限登录循环问题?

即,当具有管理员权限的用户点击注销按钮并将返回到受限页面的 url 传递给 login.aspx 时,另一个没有管理员权限的用户尝试登录,他们将被重定向回登录页面。

我遇到过这个解决方案,但我无法将 login.aspx 的名称更改为 http 处理程序,并且 isauthenticated 函数似乎在具有无 cookie 身份验证的 aspx 页面中不起作用,因为表单身份验证票似乎已从 url 中删除当重定向回登录页面时。

编辑:

因为这个应用程序已经在生产中,所以我无法更改登录/注销/超时过程的页面流程或重命名登录页面。

0 投票
3 回答
453 浏览

.net - 与第 3 方网站的集成导致表单身份验证问题

这就是问题所在。我正在为帐户余额类型的网站使用 ASP.NET 表单身份验证。用户登录后,他们可以通过访问第三方网站 (3pw) 对他们的帐户进行付款。当用户点击付款时,会发生以下情况:

  1. 我的网站向传递 id 的 3pw 发出请求。
  2. 3pw 向我的站点发出请求,传递 id 和安全 id。
  3. 我验证东西....
  4. 发生了更多你不需要关心的事情......

当我测试这个过程时,我可以在网络日志中看到我正在访问我网站上的一次性付款页面。使用 Live HTTPHeaders 之类的东西,我可以看到对 3pw 网站的请求(步骤#1)。然后网络日志显示从 3pw 到我的站点的请求(步骤#2),但日志中的下一个条目是对我的站点登录页面的新请求。

3pw 不知道如何处理重定向到登录页面然后失败。问题是当请求从 3pw 传入 mypage.aspx 时,为什么我的站点认为用户不再经过身份验证?我已经查看了我的 cookie,并且我登录时创建的 cookie 仍然存在。那不应该告诉服务器我仍然是经过身份验证的用户吗?

这是我的 web.config 中的内容

经过身份验证的用户属于角色 UserRole。3pw 请求的页面位于 Manage 目录中。3pw 不是用 .NET 编写的,我无法控制它的配置。

更新:

如果我不够清楚,我深表歉意。让我重述一下步骤。

  1. 用户登录我的网站并通过身份验证。
  2. 用户转到我网站上的一次性付款页面。
  3. 在一次性付款页面上,用户单击“付款”按钮。
  4. Make Payment 按钮向 3pw 发出 GET 请求,并在查询字符串中传递一个 id。
  5. 3pw 看到请求并向我网站上的验证页面发出 POST 请求。

发生错误的是验证页面的帖子。根据日志文件,对验证页面的请求被重定向到登录页面。我的 Web 服务器看到请求进入,尝试为页面提供服务,但发现用户未通过身份验证,并将请求重定向到登录。这部分让我感到困惑,因为我认为服务器会查看用户是否已通过身份验证,并且由于 cookie 仍然存在,因此它们仍然存在,因此提供请求的页面。

也许我不完全了解整个过程,但是由于我的登录用户对 3pw 的请求是由我的登录用户发起的,所以从 3pw 向我的站点返回的任何请求是否仍属于我的用户?

0 投票
2 回答
2120 浏览

asp.net - 使用 ASP.NET 表单身份验证的用户模拟

场景:在电子商务系统中,帮助台用户应该能够“模拟”或“登录”特定客户(来自基于 Web 的管理站点),以便他可以直接支持客户 - 例如。当客户打电话时。

附加说明:无需跟踪原始身份验证上下文。我们只需要提供一个“登录为”按钮,该按钮将以客户身份登录,而帮助台用户无需知道密码。

任何想法如何使用常规 ASP.NET 表单身份验证来实现此场景?

0 投票
2 回答
1785 浏览

ruby-on-rails - 在 Rails 中,如果您已经在检查用户是否登录,是否需要使用 form_authenticity_token?

因为 form_authenticity_token 用于验证请求,当您已经在检查用户是否登录时使用它是否多余?

也就是说,form_authenticity_token 真的只适用于任何人都可以使用的表单,而不是专门为登录用户使用的表单吗?

0 投票
3 回答
15048 浏览

asp.net - 使用 FormsAuthentication 的跨域 Cookie

我知道相关的安全风险并已将其与业务联系起来,但他们希望让他们的 5 个域共享登录 cookie。

我们正在使用并且没有计划停止使用 ASP.Net Membership and Profiles。这可能吗?一个黑客甚至会不胜感激。

0 投票
4 回答
4580 浏览

asp.net - 是否可以使用表单身份验证来保护 Web 服务?

我们正在寻求保护一堆 ASP.Net 2.0 .asmx Web 服务。将托管 Web 服务的已经是经过身份验证的表单。
是否可以使用表单身份验证来保护 Web 服务?实现这一目标的利弊和其他可能的方法是什么。我们当然不想在每个 Web 方法调用中传递用户名/密码或令牌。

0 投票
1 回答
832 浏览

asp.net - 在 ASP.NET 成员资格提供程序中从散列到加密密码类型是否可以?

我有一个 asp.net web 应用程序,表单身份验证,它使用散列密码类型。如果我将密码类型更改为加密,我会遇到任何问题吗?

我看到,如果我更改为加密,尝试恢复旧散列密码的密码会优雅地失败,这很好。如果我改变,有没有什么不好的事情会出现。

如果有人在我更改为 Encrypted 后更改了他们的密码,则密码类型将保持为 Hashed。有什么方法可以强制它将新密码存储为 Encrypted 吗?

0 投票
3 回答
3444 浏览

asp.net - asp.net 中 User.Identity 中的 Ticket.UserData 有多安全

我的网站使用 ASP.NET 的表单身份验证,并且我将用户特定信息插入到身份验证票证/cookie 的 UserData 部分。由于 UserData 在身份验证票内,因此像这样加密

现在我不太担心此时数据被泄露,因为它是加密的。但我注意到数据以这样的未加密形式提供

数据本身并不太重要。即使其他人可以看到,我仍然可以。但我不能让人们劫持这些信息并开始将其用作自己的信息。例如,我不希望一个用户假装是另一个用户登录(基于 UserData 中包含的用户 ID

这是我必须担心的事情吗?

编辑1:

我想这样做的原因是我可以停止使用会话,只使用 cookie 和 Ticket.UserData

编辑2:

Ticket.UserData 中的数据没有变化。一旦用户登录,它就会保持不变。