问题标签 [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 回答
46430 浏览

.net - 如何在 ASP.NET MVC 中重定向到动态登录 URL

我正在创建一个为客户托管页面的多租户网站。URL 的第一段将是一个标识客户端的字符串,在 Global.asax 中使用以下 URL 路由方案定义:

这可以正常工作,使用 /foo/Home/Index 等 URL。

但是,当使用 [Authorize] 属性时,我想重定向到也使用相同映射方案的登录页面。因此,如果客户端是 foo,则登录页面将是 /foo/Account/Login 而不是 web.config 中定义的固定 /Account/Login 重定向。

MVC 使用 HttpUnauthorizedResult 返回 401 未授权状态,我认为这会导致 ASP.NET 重定向到 web.config 中定义的页面。

那么有人知道如何覆盖 ASP.NET 登录重定向行为吗?还是通过创建自定义授权属性在 MVC 中重定向会更好?

编辑 - 回答:在深入研究 .Net 源代码后,我决定自定义身份验证属性是最佳解决方案:

0 投票
1 回答
11995 浏览

asp.net-mvc - 如何对使用 FormsAuthentication 的 ASP.NET MVC 控制器进行单元测试?

我正在以测试驱动的方式使用 ASP.NET MVC 解决方案,我想使用表单身份验证将用户登录到我的应用程序。我想在控制器中结束的代码如下所示:

我的问题是如何编写测试来证明此代码的合理性?

有没有办法检查是否使用正确的参数调用了 SetAuthCookie 方法?

有没有办法注入一个假的/模拟的 FormsAuthentication?

0 投票
1 回答
1112 浏览

asp.net - Visual Studio 2005 - 为安全的 Web 服务添加 Web 引用失败

我在需要表单身份验证的目录中有一个 web 服务(asmx 文件)

当我尝试通过 VS2005 添加 WebReference 时 - 我收到以下错误:

当我删除该目录中的 web.config (并且基本上删除了对表单身份验证的要求)时,一切正常。我可以添加 WebReference。

任何的想法?

0 投票
3 回答
16761 浏览

asp.net-mvc - 表单身份验证 + ASP.NET MVC 绝对 ReturnURL

我在服务器 a 上有一个中央身份验证应用程序。服务器 b 在同一个域中有一个或多个应用程序需要从服务器 a 进行身份验证。设置它很容易,以便服务器 b 应用程序重定向到服务器 a。让 ReturnURL 成为绝对值并不容易。

这是皱纹。服务器 b 上的消费应用程序有两个控制器,一个是公共的,一个是安全的。如果将 [authorize] 装饰放在公共的操作(这是默认控制器)上,我会得到正确的绝对 URL。但是,如果它在它自己的控制器中,我会得到一个相对 URL。

我可以拦截消费应用程序中的预请求事件,但我需要网站的某些部分是公开的,而不是整个粉碎。

想法?

0 投票
5 回答
6991 浏览

c# - ASP.NET:权限/身份验证架构

我正在考虑在我的 ASP.NET 应用程序中构建具有以下要求的身份验证。

  • 一个用户只有一个角色(即 Admin、SalesManager、Sales ......)
  • 角色具有一组权限,可以 CRUD 访问现有对象的子集。即“销售对对象类型“产品”具有 CREAD、READ、WRITE 权限,但没有 DELETE 权限”
  • 不知何故,我喜欢将权限置于具有继承的层次结构中,这样我即管理员不需要指定所有可用对象。
  • 系统必须能够快速回答“用户 X 是否有权对对象 Z 执行 Y”的问题
  • 所有数据库托管 (MSSQL),在 C#/ASP.NET 中实现

我想获得有关这些要求的反馈?任何想法如何使用 ASP.NET 框架(尽可能)实现这一点?(但是,我也很想知道如何在没有会员资格的情况下实现这一目标)

0 投票
6 回答
6960 浏览

asp.net - 使用 jQuery 进行 AJAX 调用时延长表单身份验证超时

我希望重写一个非常密集的 CRUD 类型的 ASP.NET 页面以利用 ajax 调用(特别是 jQuery ajax)。我这样做的担心是用户在此页面上的停留时间可能比表单身份验证超时时间长。正因为如此,我认为我应该使用每个 ajax 调用来扩展表单身份验证票证(基本上它在普通 Web 表单提交模型中的作用)。所以问题:

这甚至是一个有效的担忧吗?如果是这样,是否可以编写一个 jQuery 插件来延长表单身份验证超时?是否已经存在?使用 ASP.NET AJAX 会是更好的方法吗?

任何评论\帮助将不胜感激。

0 投票
23 回答
141570 浏览

asp.net - FormsAuthentication.SignOut() 不会将用户注销

把我的头砸得太久了。如何防止用户在使用 FormsAuthentication.SignOut 注销后浏览网站页面?我希望这样做:

但事实并非如此。如果我直接输入 URL,我仍然可以浏览到该页面。我有一段时间没有使用自己滚动的安全性了,所以我忘记了为什么这不起作用。

0 投票
4 回答
69868 浏览

asp.net - 什么是 ASPXAUTH cookie?

在使用 ASP.Net Forms 身份验证时,我遇到了 .ASPXAUTH cookie。我有几个问题:

  • 这个 cookie 的目的是什么?
  • 这个 cookie 的位置是什么?
0 投票
1 回答
1400 浏览

asp.net - 如何在中等信任环境中连接到当前的 FormsAuthenticationModule?

我的应用程序中有一个 HttpModule,它使用以下代码连接到 FormsAuthenticationModule 的 Authenticate 事件:

不幸的是,对 context.Modules 的调用失败,因为应用程序需要在中等信任环境中运行。还有其他方法可以让我参与此活动吗?

0 投票
7 回答
4424 浏览

.net - ASP.Net 表单身份验证 10 分钟后注销用户

我遇到了一个非常糟糕的问题,无论我尝试什么,用户都会在 10 分钟后被注销。

我正在使用在 Server 2003 R2 Standard Edition 上的 IIS 6.0 上运行的 ASP.Net 2.0,作为具有所有适用更新和 .Net 3.5 SP1 的虚拟服务器运行。

客户端是 Internet Explorer 7.0

以下是 web.config 设置:

以下是用于设置授权 cookie 的代码:

我以前使用过 FormsAuthentication.SetAuthCookie 甚至尝试过 FormsAuthentication.RedirectFromLoginPage 方法,但是这些方法都具有相同的结果,这就是为什么我最终执行了内部完成的硬 cookie 实现(通过在 Reflector 中查看) FormsAuthentication 类可以。


该问题在 Visual Studio 2008 asp.net 托管环境或 IIS 7.0 中无法重现


编辑:启用 Cookie,甚至托管站点也已添加为受信任站点。


编辑:谷歌浏览器和火狐没有这个问题。


编辑:目标机器上的已验证 Cookie 根据设置设置为 4 小时后过期(超时 = 240 分钟)。


编辑:正如豪斯所说,每个人都在撒谎。用户实际上并没有测试新的代码库,而是基于一个先入为主的想法,即该软件仍然存在问题。感谢所有在此主题中回复的人。

不要关闭它不再相关,而是保留它以帮助人们解决问题,因为这个问题中有一些非常好的故障排除技术。