Questions tagged «authorization»

授权是确定是否允许用户,程序或设备以特定方式访问受保护资源的过程。授权是计算机安全实践中的关键主题。


2
身份验证与资源服务器之间的OAuth v2通信
我在了解OAUTH-v2的工作方式时遇到了一些麻烦。 该OAuth的版本2的规格如下: 访问受保护的资源 客户端通过向 资源服务器提供访问令牌来访问受保护的资源。资源服务器必须验证 访问令牌,并确保它没有过期,并且其范围涵盖 所请求的资源。资源服务器用来 验证访问令牌(以及任何错误响应)的方法超出了本规范的范围,但通常涉及资源服务器与授权 服务器之间的交互或协调。 在实践中,资源服务器和授权服务器之间的交互如何工作? 资源服务器如何确定接收到的访问令牌有效? 资源服务器如何从令牌中提取允许的作用域,以查看是否应授予对特定资源的访问权限?范围是在访问令牌中编码的,还是资源服务器首先必须与授权服务器联系? 如何在资源服务器和授权服务器之间建立信任? 访问令牌属性和用于访问受保护资源的方法超出了本规范的范围,并由随附规范定义。 有人可以提供令牌属性的示例吗?

5
自定义授权HTTP标头
当客户端向API发送请求时,我需要对客户端进行身份验证。客户端具有API令牌,我正在考虑使用标准Authorization标头将令牌发送到服务器。 通常,此标头用于Basic和Digest身份验证。但是我不知道是否允许自定义此标头的值并使用自定义的身份验证方案,例如: Authorization: Token 1af538baa9045a84c0e889f672baf83ff24 你会推荐吗?还是有更好的发送令牌的方法?

4
Node.js应用程序的授权方法和设计模式
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 我正在为内部企业软件平台构建多页管理界面。考虑将各种API,数据库查询和Shell脚本捆绑在一起的大量粘合逻辑。 我们将使用node.js,express框架(包括jade模板)和LDAP进行身份验证。 我正在努力寻找有关节点应用程序中授权的设计模式和最佳实践的信息。最好是,我希望使用基于角色的模型,因为我的用户熟悉该方法及其护理和提供方法。 我是node.js的新手,所以请不要以为我已经看过模块或热门博客文章。可能有很多信息,我根本不知道在哪里看。 预先感谢您能够提供的任何信息!

1
如何在ASP.NET MVC 5中实现自定义身份验证
我正在开发一个ASP.NET MVC 5应用程序。我有一个现有的数据库,从中可以创建ADO.NET实体数据模型。我在该数据库中有一个表,其中包含“用户名”和“密码”列,我想用它们在Webapp中实现身份验证和授权;由于客户的要求,我无法创建任何其他数据库,表或列,也无法使用标准的身份验证。我不需要管理注册,密码更改或其他操作:只需使用密码和用户名登录即可。我怎样才能做到这一点?

9
如何在Swagger UI中发送带有请求的自定义标头?
我在API中一些端点- ,。/user/login/products 在扬鞭UI我交的email,并password以/user/login和为响应我收到一个token字符串。 然后,我可以从响应中复制令牌,并希望将其用作Authorization请求中的标头值到所有url(如果存在),并/products作为示例。 我应该在Swagger UI页面上的某个位置手动创建文本输入,然后将令牌放到那里并以某种方式注入请求中,或者是否有工具可以更好地管理它?

8
htaccess从基本身份验证中排除一个网址
我需要从普通的htaccess基本身份验证保护中排除一个网址(或更好的一个前缀)。像/callbacks/myBank还是/callbacks/.* ,您有任何提示如何做吗? 我不想要的是如何排除文件。这必须是url(因为这是基于PHP框架的解决方案,并且所有url都使用重定向mod_rewrite到index.php)。因此,该URL下没有文件。没有。 其中一些url只是来自其他服务的回调(未知IP,因此我无法基于IP排除),并且它们无法提示输入用户名/密码。 当前定义很简单: AuthName "Please login." AuthGroupFile /dev/null AuthType Basic AuthUserFile /xxx/.htpasswd require valid-user

6
如何在RESTful应用程序中防止CSRF?
通常使用以下方法之一来防止跨站请求伪造(CSRF): 检查引荐来源-RESTful但不可靠 将令牌插入表单并将令牌存储在服务器会话中-并非真正的RESTful 神秘的一次URI-出于与令牌相同的原因而不是RESTful 手动发送此请求的密码(不是HTTP身份验证使用的缓存密码)-RESTful但不方便 我的想法是使用用户机密,一个隐秘但静态的表单ID和JavaScript来生成令牌。 <form method="POST" action="/someresource" id="7099879082361234103"> <input type="hidden" name="token" value="generateToken(...)"> ... </form> GET /usersecret/john_doe 由JavaScript从已验证的用户获取。 回应:OK 89070135420357234586534346这个秘密从概念上讲是静态的,但是每天/每小时都可以更改……以提高安全性。这是唯一的机密内容。 使用JavaScript读取神秘的(但对所有用户而言都是静态的!)表单ID,并与用户密码一起处理: generateToken(7099879082361234103, 89070135420357234586534346) 将表单以及生成的令牌发送到服务器。 由于服务器知道用户密码和表单ID,因此可以与客户端在发送并比较两个结果之前运行相同的generateToken函数。仅当两个值相等时,该操作才被授权。 尽管事实上如果没有JavaScript也无法使用,这种方法有什么问题吗? 附录: 无状态CSRF保护


1
具有不同身份验证标头的HttpClient单个实例
鉴于.net HttpClient在设计时考虑了重用,并且旨在长期存在,并且在短期实例中已报告内存泄漏。在为多个用户调用端点时,要使用不同的承载令牌(或任何授权标头)对给定端点进行静态调用的地方有哪些指导方针? private void CallEndpoint(string resourceId, string bearerToken) { httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", bearerToken); var response = await httpClient.GetAsync($"resource/{resourceid}"); } 鉴于上述代码可以由Web应用程序上的任意数量的线程调用,因此很可能第一行中设置的标头与调用资源时使用的标头不同。 在不使用锁引起争用和维护无状态Web应用程序的情况下,为单个端点创建和部署HttpClient的推荐方法是什么(我目前的做法是为每个端点创建单个客户端)? 生命周期 尽管HttpClient确实间接实现了IDisposable接口,但是HttpClient的推荐用法是不要在每次请求后都将其丢弃。只要您的应用程序需要发出HTTP请求,HttpClient对象就可以存在。在多个请求中都存在一个对象,这为设置DefaultRequestHeaders提供了空间,并且使您不必像HttpWebRequest那样在每个请求中都重新指定诸如CredentialCache和CookieContainer之类的内容。

4
为什么<deny users =“”?/>是否包含在以下示例中?
该?通配符表示未经授权的用户,同时*代表了所有用户,认证和未。我的书显示了以下URL授权示例: &lt;authorization&gt; &lt;deny users="?" /&gt; &lt;allow users="dan,matthew" /&gt; &lt;deny users="*" /&gt; &lt;/authorization&gt; 但是上面的代码不具有与以下相同的效果: &lt;authorization&gt; &lt;allow users="dan,matthew" /&gt; &lt;deny users="*" /&gt; &lt;/authorization&gt; 还是作者&lt;deny users="?" /&gt;出于某种原因也加入了 规则?

9
在ASP.NET MVC中重定向未经授权的控制器
我在ASP.NET MVC中有一个控制器,但仅限于管理员角色: [Authorize(Roles = "Admin")] public class TestController : Controller { ... 如果没有管理员角色的用户导航到该控制器,则会看到空白屏幕。 我想做的就是将他们重定向到View,上面写着“您必须具有管理员角色才能访问此资源。” 我想到的一种方法是检查IsUserInRole()上的每个操作方法,如果不起作用,则返回此信息视图。但是,我必须将其放在每个操作中,这会破坏DRY原理,并且维护起来很麻烦。

6
传统Web应用程序和API中的身份验证,授权和会话管理
如果我错了,请纠正我:在传统的Web应用程序中,浏览器会自动将会话信息附加到服务器的请求中,以便服务器可以知道请求的来源。实际上究竟附加了什么? 但是,在基于API的应用程序中,此信息不会自动发送,因此在开发API时,我必须检查自己(例如,请求是否来自经过身份验证的用户)?通常如何做?

6
MongoDB“ root”用户
MongoDB是否有像“ root”用户这样的超级UNIX用户?我一直在看http://docs.mongodb.org/manual/reference/user-privileges/,并尝试了许多组合,但它们似乎都缺少某个区域或另一个区域。当然,在这里列出的所有角色中,首先要有一个角色。

1
REST API授权和身份验证(Web +移动)
我已经阅读了有关oAuth,Amazon REST API,HTTP Basic / Digest等的信息,但无法将其全部整合为“单个”。这可能是最接近的情况-为移动应用程序创建API-身份验证和授权 我想建立以API为中心的网站-服务。因此(一开始)我将在中心拥有一个API,而网站(PHP + MySQL)将通过cURL,Android和iPhone通过它们的网络接口进行连接。因此,有3个主要客户-3个API密钥。其他开发人员也可以通过API接口进行开发,他们将获得自己的API密钥。根据用户级别的状态,API操作将被接受/拒绝,如果我是管理员,则可以删除任何内容,等等,其他所有操作都只能操作其本地(帐户)数据。 首先,授权-我应该使用oAuth + xAuth还是我自己的某种实现(请参阅http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/RESTAuthentication.html?r=9197)?据我了解,Amazon服务用户是== API用户(具有API密钥)。在我的服务中,我需要将标准用户/帐户(在网站上注册的用户)和开发者帐户(应具有其API密钥)分开。 因此,我首先需要授权API密钥,然后验证用户本身。如果我使用亚马逊的方案检查开发人员的API密钥(授权他们的应用程序),那么我应该使用哪个sheme进行用户身份验证? 我读到有关通过api.example.org/auth(通过HTTPS,HTTP Basic)发布我的用户名和密码,然后在随后的每个请求中转发令牌的方式获得令牌的信息。如果同时在Android和网站上登录,如何管理令牌?如果我仅在第一个请求(传输用户名和密码时)仅使用SSL而在其他请求上仅使用HTTP时,中间人攻击怎么办?在此示例中,密码保护REST服务不是问题吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.