问题标签 [authorization]

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 回答
5190 浏览

asp.net - ASP.NET web.config 授权设置被忽略

我有一个 asp.net(动态数据)网站设置为另一个网站的子目录中的应用程序。此站点需要与顶级站点不同的安全设置。就像是:

这些设置在子站点中被忽略。但是,它们在顶级站点上工作,但即使在顶级站点上设置,它们也不会被子站点继承,并且可以自由访问。什么可能导致这些设置被忽略?我试过添加:

到顶级web.config,然后在子站点中设置上述授权规则,甚至尝试拒绝所有用户。访问该站点时,它看起来像:http://mysite/mybrokensite

我正在使用 Windows 身份验证。

0 投票
3 回答
1276 浏览

apache - Apache/nginx 细粒度(每个文件)权限?

是否可以使用 Apache 或 nginx 设置细粒度的权限?给定大量文件和大量用户,指定每个经过身份验证的用户只能访问他/她自己的文件的好方法是什么?

这些是静态的只读文件(大部分)。想象一下类似访问控制但使用 http 的文件系统。没有 web-dav;这是网络应用程序的一部分;图像将作为浏览器中用户页面的一部分显示。我想确保没有其他人可以看到图像,即使他们可以找到它的 url。

0 投票
1 回答
357 浏览

jquery - $.ajax 中的某些参数未通过

我有这个功能

但是,参数:

  • 方法
  • 发送前
  • 缓存

被我的浏览器 FF3、IE8 和 Chrome 忽略。因此,无论放在那里都不会改变浏览器发送到给定 url 的请求,例如:不能将方法设置为“POST”,或者更重要的是,不能将授权参数作为请求的一部分放置,以便 HTTP 授权表单被处理。

另一个奇怪的行为是,除非 dataType:"json" 否则不会发送或接收请求或响应,如 FF3 中使用 LiveHTTPHeaders 所示。例如,如果数据类型:“xml”。

浏览器似乎正确处理了 URL。

有这些问题的人如何确保发送这些额外的参数?

0 投票
8 回答
4410 浏览

asp.net - 您正在使用哪些身份验证和授权方案 - 为什么?

我们开始设计一大堆要创建的新服务(WCF、ADO.NET 数据服务,可能在某个时候在云中),弹出的一个问题是使用什么身份验证和授权方案 - 有很多很少!

我们基本上需要能够识别各种协议(HTTP、HTTPS、TCP)上的用户(实际人员和“虚拟”应用程序/服务用户),并且我们需要为他们分配至少一堆角色/权限查看某些数据和/或执行某些操作。

我们绝对不能单独使用 Windows 组成员资格 - 我们有大量服务的外部消费者,我们不希望必须在我们的内部域中为每个人设置域帐户。

所以我认为主要有三个选择:

  1. 使用 ASP.NET 成员系统 - 在那里创建用户并分配角色
  2. 使用 AzMan(授权管理器),它似乎是一个更细粒度、更成熟、更精细的系统(具有用户、任务、组 - 三个级别,而不仅仅是用户 + 角色)
  3. 滚动我们自己的

首先 - 你会推荐这三个中的哪一个?有什么理由吗?

其次 - 我还有更多的选择吗?

感谢您的任何提示,指针,意见!

马克

PS:看到到目前为止的答案,我对投票给选项#3 的人数之多感到惊讶。我原以为 MS 能够设计出可以处理所有这些要求的可重复使用的东西......

0 投票
3 回答
377 浏览

authentication - 考虑放弃编写自定义成员和角色提供程序的想法。意见?

我有一个在 ASP.NET 中构建的 Web 应用程序,它具有以下安全要求:

  1. 必须能够与将唯一密钥传回应用程序以指示用户已通过第三方站点登录的主身份验证方案集成。
  2. 必须能够使用现有的用户/角色表。
  3. 如果用户不是第三方站点的成员,则可以使用表单身份验证并允许用户通过单独的登录页面登录。

我尝试自定义 SQL 角色和成员资格提供程序,但遇到了问题,特别是有一个强类型的 MembershipUser 对象,它有一个 uniqueIdentifier (providerKey) 并且没有空间容纳我自己的自定义键集(有将是两个)识别用户。

我应该放弃我的自定义会员提供程序实施而只使用 cookie/session 吗?我真的很想使用内置功能,但它似乎不可行。

0 投票
4 回答
23411 浏览

authentication - 使用 OAuth 进行服务器到服务器身份验证?

我目前正在努力指定我公司的新合作伙伴/公共 API,这将是一个面向资源的 RESTful Web 服务。目前缺少的一块拼图是身份验证/授权。

要求是:

  1. 最初它必须适用于服务器到服务器的环境,例如,服务器应用程序必须能够识别自己,以便我们知道谁在调用 API。
  2. 将来,我们希望允许它模拟用户帐户,因此除了被识别的服务器之外,它还将拥有一个在有限时间内代表用户帐户的令牌。

OAuth 似乎非常适合 (2) 的工作流程,即获取令牌、重定向到用户输入其凭据以对其进行授权的网站,然后使用该令牌来识别/验证应用程序和用户。

但是,根据我的阅读,我不知道它是否适合 (1) - 即是否有任何方法可以使用 OAuth来识别调用应用程序而无需有效的用户特定令牌,因此不需要被重定向到一个网页让他们输入他们的凭据?

0 投票
1 回答
981 浏览

web-services - 模拟在工作站 A 和 B 上使用相同的凭据授权失败

案例 1. 当我从我自己的 PC 上浏览一个名为 JOHNXP 的小测试站点(例如http://localhost/WebClient)时,我的 .aspx 页面调用我的 ASMX 网络服务获取我的凭据并将它们传递给另一台机器上的另一个网络服务( SERVERTRIM)在同一域中。我可以看到我的请求导致 SERVERTRIM 机器上的安全日志条目带有我的凭据。

案例 2。我移动到同一域中的另一台 PC,并使用我在个人桌面上使用的相同凭据登录。当我浏览上面的同一个测试站点时(这次是http://johnxp/WebClient),我得到这个渗透回我的 .aspx 页面:

System.Web.Services.Protocols.SoapException:服务器无法处理请求。---> System.Net.WebException:请求失败,HTTP 状态 401:未授权

查看 SERVERTRIM 上的安全日志,我注意到案例 2 中的访问导致匿名登录,这似乎可以解释 401/未授权。

当我的 WS 在不同的服务器上调用供应商的 web 服务时,我试图让我的 web 服务使用登录的 DOMAIN 用户的凭据。

我的 ASMX 网络服务在我的桌面上运行(IIS 5.1 WinXP Pro - 机器名称是 JOHNXP)。我在涉及的每个服务器中都启用了匿名 UNCHECKED,并且在我的场景中涉及的每个 web.config 中都有这个:

供应商 Web 服务在 SERVERTRIM(Win 2003 服务器)上运行,它也是 ASMX 并使用 WSE 3.0。

Wireshark 和 Netmon 现在对于我来说看起来太强大了。我认为“远程”服务器(SERVERTRIM)上不同的结果登录是足够的“证据”。上面的所有机器都在同一个域中,但如果可能的话,我想将“远程”webservice 保留在 SERVERTRIM 上,并将我的中间 webservice 保留在同一域中的不同服务器上。这种情况是否要求我必须深入研究“委托”?当在域中的另一台机器上发起 Web 请求时,监视为什么相同的凭据会导致匿名登录的最简单工具是什么?

0 投票
1 回答
651 浏览

asp.net-mvc - 授权问题,FormsAuth 和 ASP.NET MVC

我有一个非常简单的 ASP.NET MVC 站点应用程序。(MVC 1.0)

我的 web.config 中没有授权部分,因为我在控制器上使用了 [Authoize] 属性。

正如预期的那样,服务器的默认 web.config 允许 * 进行表单身份验证。

我有 2 台现有的 Windows 2008 专用(托管)服务器。该网站运行良好。

我有一个新的专用服务器,除了该站点无法正常工作外,似乎相同。每个资源,甚至图像/javascript 都重定向到登录页面。

我尝试添加显式授权规则以允许 * 和 location 规则,结果相同。我检查了 .NET 信任级别,内部/完全信任。一切都在两台服务器上完美运行,只是这台忽略了所有授权规则。

有任何想法吗?谢谢

0 投票
3 回答
37095 浏览

asp.net-mvc - ASP.NET MVC 角色授权

我想将我的控制器类的角色默认设置为“管理员,内容编辑器”

我通过使用上面的属性装饰控制器来做到这一点。但是,我希望所有人都可以使用一项操作(即“查看”)。如何重置角色以便每个人(包括完全未经授权的用户)都可以访问此操作。

注意:我知道我可以使用上面的授权属性来装饰其他动作,但我不想一直这样做。我希望默认情况下所有控制器操作都无法访问,因此如果有人添加操作,他们必须做出深思熟虑的决定以使其对公众可用。

0 投票
1 回答
541 浏览

.net - 你能推荐我一本关于授权架构和相关范式的书吗?

我来自 ASP.NET 背景,发现整个基于角色的授权方案至少可以说是有限的。我读过微软的新身份模型和基于声明架构的日内瓦框架,但它似乎过于复杂。

一般来说,我想更多地了解可能的授权架构,以找出最适合我的需求。

例如,如果您想创建应用程序范围的角色,例如“管理员”,那么应用程序范围的角色似乎就足够了。但是,如果我有 ie。具有项目实体的项目管理应用程序,其中每个项目都有自己的一组角色(例如项目 A 上的“编辑”和项目 B 上的“摄影师”)和相关权限。

有没有这方面的书可以推荐?