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

java - 如何从使用选民的 AccessDecisionManager 抛出信息异常

我有以下情况:我的应用程序的授权机制是使用Spring security实现的。中心类实现AccessDecisionManager并使用投票者(每个投票者都实现AccessDecisionVoter)来决定是否授予对某些方法的访问权限。计算选票的算法是自定义的:

在拒绝对某个方法的访问后,应用程序的客户端有兴趣获得一个信息异常,该异常指定了拒绝访问的确切原因。这意味着将一些信息从选民传递给决策经理。不幸的是,标准AccessDecisionVoter传递回决策管理器的唯一信息是可能的返回值之一(ACCESS_GRANTEDACCESS_ABSTAINACCESS_DENIED)。

最好的方法是什么?

谢谢。

0 投票
4 回答
2428 浏览

authentication - 开始将 ADFS 与 AzMan 集成的好方法是什么?

有谁知道有关 Active Directory 联合身份验证服务 (ADFS) 与授权管理器 (AzMan) 集成的任何好的截屏视频或文档?

0 投票
6 回答
33669 浏览

.net - ASP.NET MVC 中的用户身份验证和授权

ASP.NET MVC 中用户授权/身份验证的最佳方法是什么?

我看到实际上有两种方法:

  • 使用内置的 ASP.NET 授权系统。
  • 使用带有我自己的用户、权限、用户组表等的自定义系统。

我更喜欢第二种选择,因为 User 是我的域模型的一部分(而且我对ASP.NET 的内置内容的经验为零),但我真的很想听听人们在这个领域所做的事情。

0 投票
2 回答
934 浏览

asp.net - 无法使用不同的服务器名称进行授权

我有一个在 Windows 2003 上的 IIS 6.0 中运行的 Web 服务。它的身份验证模式是集成 Windows 安全性(禁用匿名),并且使用授权管理器和 XML 授权存储完成授权。我的测试用户是具有授权角色成员身份的域用户(实际上是管理员)。

我正在(暂时)在 Web 服务器(localhost)上测试它,并(暂时)使用 Internet Explorer 访问 Web 服务(.asmx)。

我可以通过 localhost 成功打开 Web 服务(wsdl)页面,如下所示:

使用此 url,集成 Windows 身份验证成功(静默),并且 AzMan 成功授权我访问该服务。服务器名称也是如此:

现在我需要使用外部主机名 (www.mysite.no) 来访问服务(这是为了让 ssl 使用颁发给该站点名的证书)。为此,我将主机名添加到我的 HOSTS 文件中,如下所示:

...然后在 IE 中输入:

然后发生的是授权失败。我得到了 IE/Windows 登录框并输入了正确的凭据三次。然后我得到一个 401.1:

主机名如何影响通过 AzMan 的授权?

编辑:我有理由相信 AzMan 与它无关 - 这似乎是身份验证失败。

我已经在另一台服务器上重现了这个问题。本质似乎是通过本地主机文件中的条目访问 localhost 会以某种方式弄乱浏览器和 IIS 之间的集成 Windows 身份验证。

我已经解决了这个问题,现在只剩下我的好奇心了......

0 投票
1 回答
11091 浏览

c# - WCF 用户名身份验证:我可以在自定义 ServiceAuthorizationManager 中获取用户名吗?

我有一个使用自定义的 WCF 服务ServiceAuthorizationManager。自定义身份验证管理器已设置为处理 Windows 和窗体身份验证。

但是,如果我连接一个设置为UserName身份验证的客户端,我似乎无法在任何地方找到用户名。

客户端代码如下所示:

然后在服务器上,我有我的自定义身份验证管理器:

这可能吗?

  • Thread.CurrentPrincipal设置,
  • operationContext.ServiceSecurityContext.PrimaryIdentity未设置。
  • operationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets是空的。

用户/密码是否应该在任何地方都可用?还是我也必须添加自定义UsernamePasswordValidator


更新:所以我添加了一个自定义UserNamePasswordValidator和一个IAuthorizationPolicy. 我更新的 WCF 配置如下所示:

如果我在所有 3 个类中设置断点,WCF 会抛出异常:

在它们中的任何一个运行之前。嗯……

0 投票
2 回答
1977 浏览

web-services - Web 服务的客户端授权

如何授权客户端(在这种情况下,客户端是应用程序)在 .NET 中使用 Web 服务,

例如:我希望第三方应用程序调用一个方法,但不允许网络内的其他应用程序调用此方法。

我想避免传输层授权并使用基于消息的授权。

0 投票
2 回答
1051 浏览

asp.net - ASP.Net Web 表单实体级访问控制

我有一个 ASP.Net Web Forms 应用程序,我在其中使用基于表单的身份验证以及成员资格和角色提供程序,这对于验证和控制对目录和/或文件的访问非常有用。现在我发现自己需要控制对单个实体实例的读取、写入和删除访问,例如能够更新或删除客户的实例。我一直在想一个很好的方法来实现它,但我真的不知道从哪里开始。我阅读了 ASP.Net MVC 中的 Authorize 属性并认为有一些类似的东西会很好——装饰方法就像你可以在 ASP.Net MVC 中控制动作一样。不过,我不知道在 Web 表单世界中有什么开箱即用的方法来实现这一点,也不知道有任何框架或其他工具可以帮助我朝着这个方向前进。任何关于现有解决方案和/或如何设计我自己的实现的建议都将不胜感激。

0 投票
6 回答
7030 浏览

asp.net - Flex、ASP.NET 和 SOAP 或 REST Web 服务的最佳身份验证机制?

我正在构建一个用 ASP.NET 和 Flex 编写的基于 Web 的应用程序。我最大的挑战之一是以灵活和可维护的方式实现应用程序的安全性。当涉及不同的技术时,这一挑战变得更加复杂。我将尝试在下面描述我所拥有的。

该网站的布局如下:

  • /mydomain.com/
    • 登录.aspx
    • Default.aspx (宿主 flex [.swf] 应用程序)
    • /行政/
      • 添加用户.aspx
      • 添加角色.aspx
      • 添加权限.aspx
      • ETC...
    • /服务/
      • 安全服务.asmx
      • 地图服务.asmx
      • 照片服务.asmx
      • ETC...

我目前正在使用表单身份验证来保护网站上的资源。不在 /Services/ 文件夹中的所有页面/资源都需要经过身份验证的用户,如果尚未经过身份验证,它们将被重定向到 Login.aspx。.asmx 页面允许未经身份验证的用户。为了保护这些资源,我在 SOAP 方法中抛出了一个异常。这避免了我所知道的任何 SOAP Web 服务客户端都不支持的 SOAP Web 服务重定向页面。最后,SecurityService.asmx 包含一个 Login 方法,允许 Flex 应用程序登录而无需重定向到 Login.aspx 页面,如果 cookie 因任何原因过期。因为建立的 cookie 与任何请求一起发送到服务器,包括来自 Flex 应用程序的请求,所以这似乎工作得很好。

然而,这仍然是一种保护 Web 服务的糟糕方法。我觉得我正在将表单身份验证用于它不打算用于的东西。具体来说,我担心:

  • 当服务与核心网站分离时,此模型将不起作用。这是一个新发现的要求,我相信如果没有更多的修改和技巧,Forms Authentication 将无法正常工作(如果有的话)。
  • Flex 以外的客户可能需要访问服务。其中一些客户端甚至可能无法使用 cookie。如果是这样,该模型立即分崩离析。这不是即时要求,但众所周知,这是长期目标之一。
  • 我们最终会(希望早点而不是晚点)转向基于 REST 的架构(相对于 SOAP),因此任何解决方案都需要适用于 SOAP 和 REST。

所以,我的问题是。

保护基于 ASP.NET、Flex 和 SOAP 或 REST Web 服务构建的应用程序的最佳身份验证和授权机制是什么?

注意:我正在积极研究 OAuth;但是,我很难找到完整的例子来学习。此外,我需要能够根据用户拥有的权限过滤给定用户返回的数据,OAuth 似乎从令牌中删除了用户的身份。因此,我不确定 OAuth 如何应用于细粒度的安全模型。

0 投票
2 回答
4516 浏览

asp.net-mvc - 限制匿名访问 ASP.Net MVC 站点的问题

每当我在我的 MVC 站点中限制匿名访问时,我都会收到 404 错误:

“/”应用程序中的服务器错误。无法找到该资源。说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保 > 拼写正确。

请求的 URL:/Account/Login

我刚刚第一次玩 MVC (RC1 Refresh),在让我退出的会员提供商工作后,我想锁定该网站以防止匿名访问。我尝试了使用 web.config 的传统方式:

但即使我明确允许匿名访问登录页面,也会出现上述错误。

我还尝试了Scott Gu 的博客中提到的技术,并通过在 HomeController 中添加 [Authorize] 属性来保护 About 页面

但是当我尝试访问该页面时遇到了同样的错误。

我什至尝试在单独的机器上进行全新安装。

那么如何在 ASP.Net MVC RC1 Refresh 中启用授权?

0 投票
5 回答
2626 浏览

oop - 面向对象的登录功能

用户登录功能对于许多应用程序来说非常常见。我想看看人们如何以面向对象的方式实现此功能。

我有一个用户,我需要针对系统验证用户 ID 和密码(这可能是 ldap、数据库等)。那么你会创建什么样的类和操作来实现这个功能呢?

或者 OO 是不是开发这个功能的坏选择?

我即将开始一个新项目,所以想收集好的选择。


我知道已经有提供此解决方案的框架。我在早期的项目中使用过它们。我试图看到的是人们如何以 OO 方式实现这一点。

我阅读了答案,每个人都建议使用单独的凭据和身份验证服务。如果我使用类名而不是凭据作为用户,那么用户类不应该有一个名为登录的方法吗?就像 Person 对象将有一个方法喝而不是 DrinkService 或者我正确理解这一点是错误的?