问题标签 [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 投票
1 回答
274 浏览

asp.net - 页面仅在附加 Fiddler 的情况下发回?

我已使用表单身份验证设置 Reporting Services。我们的应用程序位于 Reporting Services 之上,并将其身份验证扩展程序用作单点登录。

我们过去有一个简单的登录页面,但是在这台机器上,当单击登录按钮时它拒绝回发。我使用以下方法将跟踪信息插入到页面中:

我可以看到每次单击按钮时会话 ID 都会发生变化。如果我附加到进程,我会看到它通过 InitComponent 但它从未命中 btnLogon_click 代码。

但是,如果我运行 fiddler 一切都很好,它会很好地回发。

到底是怎么回事?超时?IIS设置不正确?

编辑: IE7(应用程序仅限 IE),我刚刚发现,如果我将它留在 OnInit 的断点上几秒钟,它会起作用并在 btnLogon_Click 中击中第二个断点,如果我让它马上去没有击中它。这指向某种奇怪的超时问题。

0 投票
7 回答
203 浏览

asp.net - 为他们转换现有用户帐户还是让用户重新注册更好?

我正在重写一个网站,并从用户使用其帐户 ID(数字)和密码登录的本土身份验证模型转到 .NET FormsAuthentication,其中用户将使用他们选择(或可用)的用户名和更强的密码。现有帐户超过 38K,我正在尝试确定现有用户是否应该重新注册,或者我是否应该编写一些代码来代表他们执行此操作。我已经排除了为用户创建用户名的可能性,因为他们将无法更改他们的用户名。幸运的是,我们没有任何名为 Brenda Utthead 的用户。

如果用户重新注册,有些人可能会抱怨必须再次执行此步骤,并且可能会引发一些支持电话,但我坚持每个人都必须执行的标准流程。或者我可以允许用户使用他们现有的用户名和密码登录,然后可以选择给他们一个宽限期来转换他们的帐户。我对后者犹豫不决,因为它是特殊代码和可能的威胁向量,因为它绕过标准身份验证机制并允许用户使用不太安全的凭据登录。

该应用程序目前占我们网站流量的 40% 左右,我不担心用户因为可能不得不重新注册而不会返回该网站。

大家怎么看?

0 投票
2 回答
1846 浏览

asp.net - 在处理程序中检测身份验证超时并将整个页面重定向到登录页面

我正在编写一个应用程序,有人可以在其中编辑网页上的段落。jQuery 用于向处理程序发送和接收已编辑的段落数据,处理程序将其保存或从数据库中读取。问题是如果表单身份验证超时,我会从我的处理程序中取回登录页面。如果身份验证超时并将整个页面重定向到登录页面,我有什么方法可以在客户端或服务器上检测到?

0 投票
1 回答
843 浏览

c# - 使用 FBA 向 CreateUserWizard 控件添加列

我想在我们的网站上为未注册的用户创建一个用户帐户创建部分。我想问与 CreateUserWizard 控件相同的问题,但有一些更改。我希望问题来自 SQL 中的问题查找表。用户将有一个可用问题的下拉列表,我将存储他们选择的 questionid 和答案。另外,我想存储另一条关于用户(SSN)的数据。

我的问题是:1)如果使用 SSL,基于表单的身份验证是否是可接受的解决方案?2) 我可以在会员表或其他表中添加额外的列(questionid 和 ssn)吗?我该怎么做才能以“有福”的方式保存信息?如果我想添加密码重置/恢复,该解决方案是否会产生负面影响?

添加列时,调用 Membership.CreateUser 而不是使用 CreateUserWizard 是否有意义?

谢谢!!

0 投票
2 回答
178 浏览

asp.net - 使用 asp.net 和 ajax 测试来自客户端的身份验证

从客户端,有没有办法从 asp.net 页面获取真/假值,以显示您有权访问该页面。使用表单身份验证我被重定向到登录页面。我只需要一个简单的布尔值。

亚伦

0 投票
1 回答
1762 浏览

asp.net - ASP.Net:通过浏览器的登录窗口进行身份验证

我有一个似乎相当常见的场景:我有一个包含用户/密码列表的数据库,理想情况下,当有人访问该站点时,我想使用他们的 windows 名称(内部),否则无论名称用户提供(外部)。

我的主要问题是如何向浏览器发送响应,强制它提示外部用户输入用户名/密码(例如当您访问使用 Windows 身份验证的页面时)?有没有人这样做过?

我的主要目标是避免创建登录屏幕,而只使用浏览器内置的内容。有没有办法可以利用内置的表单身份验证来做到这一点?

谢谢!

*更新:我发现了类似于我在这里寻找的东西:http: //blog.codeville.net/2008/08/25/using-the-browsers-native-login-prompt/

0 投票
3 回答
6399 浏览

c# - (HttpContext.Current.User != null) 是否足以假设 FormsAuthentication 已对用户进行身份验证

在 ASP.NET (2.0) 应用程序中,我使用 FormsAuthentication。

在 Global.asax / Application_AuthenticateRequest 方法中,我检查 HttpContext.Current.User 是否为空。

这足以知道表单身份验证 cookie 是否存在、票证是否未过期,以及总体而言,表单身份验证机制是否已完成验证用户的工作?

我需要这个,因为我在该应用程序中有某些页面,有时不需要访问身份验证(基于某些标准),我将它们放在 web.config 中的单独“位置”指令中,以排除它们从“捕获所有”表单身份验证。

即,如果在此“位置”中访问的页面需要保护,我正在尝试检查 Application_AuthenticateRequest,如果是,则要知道用户是否已经通过身份验证,或者我需要重定向到登录。

编辑:正如答案所暗示的,我很可能会选择 IsAuthenticated。为了让我更好地掌握它,这里有 2 个额外的问题:)(请编辑其他答案以添加这些,谢谢):

  1. 我可以假设如果 IsAuthenticated 为真,那么 HttpContext.Current.User 肯定会包含经过身份验证的用户的用户名吗?

  2. 如果强制执行 FormsAuthentication,并且只有少数页面被“位置”指令排除,我怎么能在 HttpContext.Current.User 中得到一个“匿名用户”?

0 投票
3 回答
433 浏览

sharepoint - MOSS FBA 从不要求信用

我已经在扩展站点上设置了 FBA,添加了一个用户,验证了中央管理员可以读取用户(人员选择器工作正常)。

问题是无论我尝试什么,我都不会被要求提供凭据,只是得到一个“您无权查看此页面”。我感觉它在 IIS 中有些东西,但我已经添加了我能想到的所有匿名帐户。

如果我将身份验证类型切换回 Windows,它可以正常工作。

我已经阅读了无数的操作指南,我认为我没有错过任何一步,它们都以“你现在应该看到登录页面”结束,但我被拒绝了。

有小费吗?

0 投票
1 回答
2713 浏览

wcf - 使用 ASP.NET Ajax 通过 SSL 调用 WCF

我正在使用 ASP.NET Ajax 从 ASP.NET 页面调用 WCF。我正在使用表单身份验证来保护网站。

在开发过程中一切都按预期工作,直到它被部署到生产服务器上,然后我开始收到 JavaScript 错误,因为找不到该服务。生产服务器使用 SSL,所以我在web.config中添加了以下内容:

这阻止了 JavaScript 错误的发生,但现在 WCF 服务的行为不像以前那样。

在将安全设置为传输之前,从 ASP.NET Ajax 调用 WCF 服务将Application_AuthenticateRequest在我的 Global.asax 中执行。这将基于表单身份验证票设置自IPrinciple定义HttpContext.Current.User。我的 WCF 服务的构造函数集Thread.CurrentPrinciple = HttpContext.Current.User,因此我的服务可以IPrincipleApplication_AuthenticateRequest.

将安全性更改为 Transport 后,它似乎没有运行,Application_AuthenticateRequest因为 my Thread.CurrentPrincipleis not my custom IPrinciple

有谁知道我如何获得与使用 Transport 之前和使用 Transport 之后相同的行为?

我的网页使用以下内容来引用 WCF 服务:

我的代码中使用的Application_AuthenticateRequest

0 投票
1 回答
294 浏览

asp.net - ASP.NET Forms auth - 获取用户数据

我在一个非常小的 ASP.NET Web 应用程序(Web 窗体)上使用表单身份验证,我想在其中将有关用户的其他信息存储在单独的数据库表中。

然后将其链接回aspnet_User表,我正在计算要链接到的最佳列是该UserId列。问题是当用户登录时我无法弄清楚如何获取这条数据。甚至可能吗?

另外,我如何获得电子邮件地址?


在有人指出之前,我知道 ProfileProvider 但存储的详细信息需要每年重新提交(这是体育俱乐部的注册申请)并存储所有以前的数据。所以 ProfileProvider 并不是真的适用(除非我错了,它可以用来将它存储在历史上?)。