问题标签 [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.
java - 如何从使用选民的 AccessDecisionManager 抛出信息异常
我有以下情况:我的应用程序的授权机制是使用Spring security实现的。中心类实现AccessDecisionManager并使用投票者(每个投票者都实现AccessDecisionVoter)来决定是否授予对某些方法的访问权限。计算选票的算法是自定义的:
在拒绝对某个方法的访问后,应用程序的客户端有兴趣获得一个信息异常,该异常指定了拒绝访问的确切原因。这意味着将一些信息从选民传递给决策经理。不幸的是,标准AccessDecisionVoter传递回决策管理器的唯一信息是可能的返回值之一(ACCESS_GRANTED、ACCESS_ABSTAIN或ACCESS_DENIED)。
最好的方法是什么?
谢谢。
authentication - 开始将 ADFS 与 AzMan 集成的好方法是什么?
有谁知道有关 Active Directory 联合身份验证服务 (ADFS) 与授权管理器 (AzMan) 集成的任何好的截屏视频或文档?
.net - ASP.NET MVC 中的用户身份验证和授权
ASP.NET MVC 中用户授权/身份验证的最佳方法是什么?
我看到实际上有两种方法:
- 使用内置的 ASP.NET 授权系统。
- 使用带有我自己的用户、权限、用户组表等的自定义系统。
我更喜欢第二种选择,因为 User 是我的域模型的一部分(而且我对ASP.NET 的内置内容的经验为零),但我真的很想听听人们在这个领域所做的事情。
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 身份验证。
我已经解决了这个问题,现在只剩下我的好奇心了......
c# - WCF 用户名身份验证:我可以在自定义 ServiceAuthorizationManager 中获取用户名吗?
我有一个使用自定义的 WCF 服务ServiceAuthorizationManager
。自定义身份验证管理器已设置为处理 Windows 和窗体身份验证。
但是,如果我连接一个设置为UserName
身份验证的客户端,我似乎无法在任何地方找到用户名。
客户端代码如下所示:
然后在服务器上,我有我的自定义身份验证管理器:
这可能吗?
- 未
Thread.CurrentPrincipal
设置, operationContext.ServiceSecurityContext.PrimaryIdentity
未设置。operationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets
是空的。
用户/密码是否应该在任何地方都可用?还是我也必须添加自定义UsernamePasswordValidator
?
更新:所以我添加了一个自定义UserNamePasswordValidator
和一个IAuthorizationPolicy
. 我更新的 WCF 配置如下所示:
如果我在所有 3 个类中设置断点,WCF 会抛出异常:
在它们中的任何一个运行之前。嗯……
web-services - Web 服务的客户端授权
如何授权客户端(在这种情况下,客户端是应用程序)在 .NET 中使用 Web 服务,
例如:我希望第三方应用程序调用一个方法,但不允许网络内的其他应用程序调用此方法。
我想避免传输层授权并使用基于消息的授权。
asp.net - ASP.Net Web 表单实体级访问控制
我有一个 ASP.Net Web Forms 应用程序,我在其中使用基于表单的身份验证以及成员资格和角色提供程序,这对于验证和控制对目录和/或文件的访问非常有用。现在我发现自己需要控制对单个实体实例的读取、写入和删除访问,例如能够更新或删除客户的实例。我一直在想一个很好的方法来实现它,但我真的不知道从哪里开始。我阅读了 ASP.Net MVC 中的 Authorize 属性并认为有一些类似的东西会很好——装饰方法就像你可以在 ASP.Net MVC 中控制动作一样。不过,我不知道在 Web 表单世界中有什么开箱即用的方法来实现这一点,也不知道有任何框架或其他工具可以帮助我朝着这个方向前进。任何关于现有解决方案和/或如何设计我自己的实现的建议都将不胜感激。
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 如何应用于细粒度的安全模型。
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 中启用授权?
oop - 面向对象的登录功能
用户登录功能对于许多应用程序来说非常常见。我想看看人们如何以面向对象的方式实现此功能。
我有一个用户,我需要针对系统验证用户 ID 和密码(这可能是 ldap、数据库等)。那么你会创建什么样的类和操作来实现这个功能呢?
或者 OO 是不是开发这个功能的坏选择?
我即将开始一个新项目,所以想收集好的选择。
我知道已经有提供此解决方案的框架。我在早期的项目中使用过它们。我试图看到的是人们如何以 OO 方式实现这一点。
我阅读了答案,每个人都建议使用单独的凭据和身份验证服务。如果我使用类名而不是凭据作为用户,那么用户类不应该有一个名为登录的方法吗?就像 Person 对象将有一个方法喝而不是 DrinkService 或者我正确理解这一点是错误的?