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

asp.net - 当表单身份验证的用户未通过身份验证时要捕获的事件

我基本上是在寻找与 FormsAuthentication_OnAuthenticate 相反的事件。当用户注销时,我想从数据库中删除一些值。我尝试将其放入 Session_End 事件中,但似乎在执行时用户已经离开了。

更新:如果我无法确定特定用户何时被取消身份验证(即,由于会话超时),那么有没有办法获取所有当前经过身份验证的用户的列表?如果可以,那么在 Session_End 中,我可以从数据库中删除与当前经过身份验证的用户无关的记录。

0 投票
1 回答
370 浏览

c# - CreateUserWizard-如何在向导期间针对 db 验证数据?

我正在使用 asp.net CreateUserWizard 控件。我添加了一个 WizardStep,需要它在允许用户创建帐户之前针对我们的内部数据库验证 3 个数据点。但是,当我尝试将下一个按钮单击连接到代码隐藏方法以检查数据时,该事件永远不会在代码隐藏中触发。

下面是下一步按钮上的代码-

应该这样接线吗?向导是否为您提供了一种方法来确定您正在执行的步骤,因此您无需检查每个步骤?

还有一个问题。为了有效利用基于表单的身份验证并跟踪用户是否当前登录,在我看来,所有页面都需要包装在 LoginView 控件中,因此如果他们的会话过期,他们会查看“未登录'模板视图?正确的?

0 投票
2 回答
3001 浏览

sharepoint - 在 SharePoint 中使用表单身份验证 (FBA) 减少了功能

我有一个启用了 FBA 和 AD 身份验证的 moss 文档中心网站。创建图片库后,通过 FBA URL 访问该站点时,我的功能似乎有所减少。

我比较了每个 IIS 网站的 web.config 文件,它们是相同的(除了需要添加的 FBA 信息)。

这里有两张图片来说明我的意思。

此图为通过AD认证访问网站时图片库中可用的选项:

替代文字 http://www.abbeylegal.com/Downloads/2006-07-26/Ad%20Authentication.jpg

此图为通过FBA认证访问网站时图片库中可用的缩减选项:

替代文字 http://www.abbeylegal.com/Downloads/2006-07-26/FBA%20Authentication.jpg

其他人看到这种行为吗?我觉得真的很奇怪。

0 投票
2 回答
13717 浏览

.net - 使用 ASP.NET MVC 的 jQuery 表单身份验证

是否可以使用 jQuery ajax 调用通过 ASP.NET MVC 执行表单身份验证?我一直找不到任何这样的例子。

更具体地说,如何在页面上设置 auth cookie(没有重定向),以便我可以发出连续的经过身份验证的 ajax 请求?

0 投票
3 回答
224 浏览

c# - Forms Auth - 如何防止欺骗用户帐户只知道扩展的用户信息?

我有点奇怪的困境。请耐心等待我尝试解释它!

我正在使用表单身份验证并将其他用户信息存储在另一个表中(从 Forms Auth 引用的 UserID、加密的 SSN、Salt 值)。当用户注册到该站点时,我会询问 SSN、DOB 和 LName,并在他们创建帐户之前对我们的系统进行验证。我想确定该 SSN 在表单身份验证中是否有与之关联的帐户。由于 SSN 是使用盐值加密的,因此我无法在不查看每一行的情况下进行查找。

我只想要每个 SSN 1 个用户帐户。使用盐值会破坏这一点。

在我看来,解决这个问题的唯一方法是对 SSN 使用通用加密算法。当用户输入它时,我应用相同的加密算法并查看用户扩展属性表中是否存在值匹配。

这足够安全吗?

0 投票
2 回答
2789 浏览

asp.net - Windows Sharepoint 服务 (WSS) 和表单身份验证 - 将这些凭据传递给其他 ASP.NET 表单身份验证应用程序

对不起,这里的标题很差:)

我为表单身份验证配置了 WSS。我希望我的用户登陆 WSS 登录页面,登录,然后为他们提供指向其他 ASP.NET 应用程序的链接,这些应用程序也配置为表单身份验证。我想实现一个单点登录的解决方案(我说“ish”的原因是我不希望像在 SAML 中那样实现 SSO 本身,而是实现不强迫用户的类似效果重新输入他们的凭据)。您可以假设 WSS 使用的表单身份验证凭据与我想要提供链接的后续表单身份验证应用程序中的凭据相同。

这是否需要 WSS 端的代码,或者我可以在 ASP.NET/IIS 配置端以非编程方式实现这一点?

谢谢

0 投票
3 回答
2402 浏览

forms-authentication - Portlet 的自定义 .NET 身份验证、成员资格、配置文件提供程序?

我想知道是否可以利用 .NET 中的身份验证、成员资格和/或配置文件提供程序功能来帮助将 .NET Web 应用程序集成到我公司的企业门户中。简而言之,门户将自定义标头值发送到门户“后面”的任何应用程序,以获取用户名、用户配置文件数据和一些访问权限等字段。我们在门户中遇到的一个问题是,我们无法利用 Web 上可用的许多 .NET 应用程序,因为它们的设计初衷不是“门户感知”,主要是为了相信用户已经过身份验证。

是否有可能以某种方式编写自定义身份验证提供程序(或者可能以某种方式利用表单身份验证)来查看标头(加上 IP)并自动“身份验证”为该用户?我的想法是,通过编写一个配置文件提供程序,可能是一个会员提供程序,并以某种方式添加身份验证,我将能够下载像 Oxite 博客(我找到的 .net mvc 演示)这样很酷的组件,将提供程序切换到我的自定义提供程序,并利用它在我公司的门户后面,代码更改最少。

这有道理吗?我觉得我可能不理解这些组件是如何融入这个谜题的。

0 投票
1 回答
4335 浏览

asp.net - 为什么 ASP.NET 为域和子域生成相同的 cookie 密钥?

漏洞:

我有一个 ASP.NET Web 应用程序,它偶尔会为“.www.mydomain.com”和“www.mydomain.com”设置相同的 cookie 键。我试图弄清楚 ASP.NET 设置的默认 cookie 域,以及我如何不小心将站点编码为有时会在前面加上“。” 到 cookie 域。

当 2 个 cookie 具有相同的密钥并从浏览器向上发送时,ASP.NET Web 应用程序无法区分两者,因为域值未在标头中发送。(见我之前的问题

证据:

我已经在 Web 服务器上启用了 W3C 日志记录,并验证了这两个 cookie 都是从客户端发送的。这是日志文件中的一个示例(为简洁起见,已配对)。

可能的因素:

我正在使用启用子域的表单身份验证。

这是我的 web.config 设置:

以下是设置自定义 cookie 的示例:

这是另一个设置 cookie 的示例。

不良分辨率:

我可以手动强制 cookie 域为特定值,但我想避免明确声明域。我更喜欢使用默认的框架行为并更改我对 ASP.NET 的使用以避免在“。”之前添加。到自定义 cookie 的 cookie 域。

0 投票
3 回答
9420 浏览

asp.net - 如何判断用户帐户是否已使用 ASP.Net Forms 身份验证登录?

我们的 SSO 登录过程针对 SQL Server 中的自定义用户存储使用表单身份验证。

我们的新安全要求之一是一次只允许一个帐户有一个活动会话。因此,任何时候用户登录时,我们都会检查登录凭据是否已经处于活动状态,并且最好防止新用户再次登录,直到另一个会话结束。或者,如果这样更容易实施,我们可以强制结束另一个会话。

有没有一种简单的方法可以使用表单身份验证来做到这一点?我们考虑了一种自定义方法,我们跟踪数据库中的每个会话,但这将是很多工作,我们可能必须修改所有应用程序以检测 session_end,我希望避免这种情况。我认为 Forms Auth 中必须有一些东西可以处理这个问题。

我见过 MembershipUser.IsOnline() 方法,这看起来很理想,但我们没有使用 Membership 提供程序。

更新:为了清楚起见,我不需要检查当前用户是否登录,我需要知道其他人是否已经使用同一个帐户登录。

0 投票
1 回答
1304 浏览

c# - Forms Auth-pwd recovery-我宁愿用户在网上重置它而不是发送电子邮件

问题 1 - 我想让用户能够在没有电子邮件和生成密码的情况下重置密码。用户通过写入的自定义表单根据我们的内部数据库验证自己。然后,我想提示他们输入用户名和安全问答。我不知道如何进行安全 QA,所以我决定自定义密码恢复控制。我不希望它发送带有新密码的电子邮件。相反,如果他们得到正确的用户名和问题,我想将他们发送到密码重置页面。

有没有办法向他们询问安全问题并通过编写自定义代码或使用预构建组件进行比较。另外,他们重置密码后如何设置密码?

问题 2- 我正在处理“忘记用户名”。它将首先验证我们的数据库。根据他们输入的内容,我将能够在表单身份验证数据库中匹配并找到用户名和用户 ID。我想问他们安全问题,但不知道如何根据他们输入的内容创建哈希,以比较用户在 aspnet 数据库中的内容。有没有办法做到这一点?

谢谢!!!