标签: access-control

Internet Explorer中跨站点请求的访问控制

我正在尝试从几个域进行AJAX调用到一个将处理请求的域.通过在处理服务器上设置标头,可以轻松在Firefox和Chrome中启用跨域:

header("Access-Control-Allow-Origin: *");
Run Code Online (Sandbox Code Playgroud)

但这无助于在Internet Explorer中启用它.当我尝试:

httpreq.send('');
Run Code Online (Sandbox Code Playgroud)

它会因错误访问被拒绝而停止.

如何在Internet Explorer中启用它?

javascript internet-explorer access-control cross-domain

9
推荐指数
3
解决办法
3万
查看次数

阶级友谊 - 一个难题

我是初学者级别的面向对象编程爱好者.我遇到了以下谜题:

class A { 
}; 

class B { 
protected: 
    friend class A; 
};

class C { 
public: 
    friend class B; 
};
Run Code Online (Sandbox Code Playgroud)

参考上面的示例代码,假设上面的类有数据成员,可以在A成员的声明中使用C成员的名称?

  1. 只有私人会员

  2. 只受保护的成员

  3. 所有C的数据成员

  4. 只有公众成员

  5. C的数据成员中没有一个*

我的选择是回答4,因为友谊不是传递性的.因此,A是B的朋友,但A不是C的朋友(即使B是C的朋友).这是正确的想法吗?

另外,我的问题是到目前为止(在教程中)我遇到过exmaples,其中友谊声明如下:

class X { 
public: 
    friend class Y;
};
Run Code Online (Sandbox Code Playgroud)

如果我们使用受保护的那个而不是公共说明符,有什么区别?像那样:

class X { 
protected: 
    friend class Y; 
};
Run Code Online (Sandbox Code Playgroud)

c++ inheritance class access-control friend

9
推荐指数
1
解决办法
206
查看次数

模板类友谊

我最近遇到了一段c ++代码,其中一个类与自己成为朋友.正如我在不同论坛上所读到的,一个班级已经是他自己的朋友.所以我想知道是否有一个特定的原因,为什么人们想要明确地让自己成为一个阶级朋友.

另一个问题是,让一个班级成为自己的朋友的原因是什么?

也许有经验的人可以澄清这个话题.

这是代码示例,用于说明我的问题:

template < typename T>
class Foo: public T
{
protected:
   template < typename U>
   friend class Foo;
}
Run Code Online (Sandbox Code Playgroud)

c++ access-control friend

9
推荐指数
2
解决办法
1291
查看次数

从AuthorizationHandlerContext对象获取控制器和操作名称

嗨,我有一个自定义需求处理程序,接受AuthorizationHandlerContext context参数

当我调试时,我可以看到上下文对象包含Context.Resources.ActionDescription.ActionName

但是在编写代码时我不能超越Context.Resources

似乎较低的水平没有暴露.我想获取调用处理程序的操作名称和控制器名称.我该怎么做呢?

asp.net asp.net-mvc access-control asp.net-core

9
推荐指数
1
解决办法
3155
查看次数

使用社交身份验证限制访问静态网站的最简单方法是什么

我有一个由 html/css/javascript 文件组成的静态网站。该网站是自动生成的,并且经常更新。

我不想使用用户名/密码(基本身份验证)授权访问网站,而是希望用户使用 Google 登录/openID Connect 进行身份验证,然后通过 gmail 地址白名单控制访问。

设置它的最简单方法是什么?

authorization access-control social-authentication

9
推荐指数
1
解决办法
6285
查看次数

对 monorepo 中目录的精细访问

我一直在阅读关于 monorepos 的优点,但还没有找到解决共享部分 repo问题的缓解措施:

假设一个组织有一个用于客户端/服务器 Web 应用程序的 monorepo。他们聘请承包商来设计客户的某些部分。他们如何让承包商只能访问相关的客户代码?即使是稀疏的结账也不是微不足道的。

git access-control monorepo

9
推荐指数
1
解决办法
1384
查看次数

为我的PHP应用程序实现ACL

我的RealEstate PHP应用程序有以下用户组,

管理员,版主代理商

我想为以下用户指定以下权限.

管理员 - >

  • 可以创建版主,
  • 可以创建代理,
  • 可以插入属性,
  • 可以更新属性,
  • 可以删除属性

因此,管理员将拥有所有权限,管理员这里将是superAdmin

我想为主持人分配有限的权限,从而为代理商分配.

我对如何为此创建数据库以及如何在我的PHP应用程序中实现它感到困惑.

谢谢

php acl access-control

8
推荐指数
1
解决办法
2万
查看次数

使用PHP/Apache控制基于DB值的文件访问

我想要的是

我正在建立一个系统,当用户上传图像时,它会进入文件夹images,其中有两个图像副本,一个拇指和一个较大的副本.

现在,当用户上传图像时,它就像在MySQL数据库中插入行一样完成,其中图像获取id,并且该行包含一个值,用于确定图像是否可供公众使用(仅适用于拇指1)可用,两者都是2)以及图像的所有者(管理员).

我不想做的是,如果用户试图通过转到图像的URL来到达图像,并且数据库中的值表明它不应该是公开可用的,并且该用户的会话不是图像,(管理员未登录)它应该说未找到图像或访问被拒绝.

我的想象

如果它可以用PHP完成我想象这样的事情:

//User tries to go to URL "images/IMAGE-ID_thumb.jpg"
if($img['access'] >= 1 || $_SESSION['admin_ID'] == $img['owner_ID']) {
  //Show image thumb
}
else {
  //Access denied
}
Run Code Online (Sandbox Code Playgroud)

我可以隐藏.htaccess受保护文件夹中的图像,制作一个接受URL变量的imgae_get.php,查看图像是否可用,如果是,则加载图像.我只是想避免去/重新编译图像和其他服务器耗电过程.

我的问题是,我可以像这样控制图像吗?有没有办法让PHP脚本显示为内部加载的图像?或者可能有一些其他/更好的方式比通过PHP?(Apache也许?)任何建议都非常感谢.

php apache file access-control

8
推荐指数
1
解决办法
2956
查看次数

使用具有水平信息隐藏功能的Amazon Dynamo DB进行细粒度访问控制

我已经浏览了文档并且它与我的用例密切相关,除了我不能使用Google,Facebook或亚马逊作为我的身份提供者,但我已经为经过身份验证的用户提供了企业级OAuth 2.0访问令牌.

我了解我可以使用AWS STS的Enterprise Federated支持来获取临时凭证并使用它们来进一步访问AWS资源,但我无法理解如何配置IAM策略以使用这些凭据来实现水平信息隐藏.

我在DynamoDB中有一些表,其中存储了我的应用程序的所有用户的详细信息,我的应用程序支持多个租户,因此我希望一个租户的用户无法访问其他租户的数据.我可以配置的IAM策略类型如下:

"Condition": {
            "ForAllValues:StringEquals": {
               "dynamodb:LeadingKeys":  ["${www.amazon.com:user_id}"]
            }
        }
Run Code Online (Sandbox Code Playgroud)

现在我的用户没有通过亚马逊(或Google或Facebook)登录,因此我无法使用"$ {www.zonzon.com:user_id}"等密钥.此外,我的某些表的哈希键是复合的.

所以我的问题是如何在数据库级别实现多租户,并能够分离或分离每个租户的数据,即隐藏我的表的某些行与不应该访问它的用户.

是否可以在定义IAM策略时指定自定义策略变量并指定如何在运行时解析这些变量?或者其他一些方式?

我在Dynamo中的表当前有复合哈希键,它是Tenant_ID和User_ID的组合,所以我可以在IAM策略中指定某种规则,以便我能够实现水平信息隐藏吗?

如果您需要有关我的用例的更多信息,请告诉我.

此致,阿格拉伊

access-control multi-tenant amazon-web-services amazon-dynamodb amazon-iam

8
推荐指数
1
解决办法
391
查看次数

如何使Swift框架子模块真的私有?

我发现了另一个问题,它带来了有关问题和可能解决方案的更多细节.似乎有一个已知的bug是未来改进的主题.

基于iOS Swift的动态框架中的Objective C类

我正在Swift中开发一个框架,我在框架中使用了一些Objective-C代码.到目前为止,我的模块映射如下所示:

framework module MyModule {
    umbrella header "MyModule-umbrella.h"

    export *

    explicit module Private {
        header "MyTools.h"
    }
}
Run Code Online (Sandbox Code Playgroud)

我担心的是所有的API MyTools.h都是从框架外部看到的:例如,如果你使用Cocoapods安装框架,那么你import MyModule进入你的应用程序(而不是MyModule.Private),你就能够访问MyTools.h哪些不可取和多余.有没有办法让MyTools从框架外部看不见?

PS.我使用Cocoapods来分发框架,这是我的podspec(最重要的部分):

s.module_map    = 'Pod/MyModule.modulemap'
s.frameworks    = 'CoreData', 'CoreTelephony', 'SystemConfiguration'
s.resources     = 'Pod/Classes/MessageStorage/*.xcdatamodeld'
s.public_header_files = 'Pod/Classes/**/*.h'
s.private_header_files = 'Pod/Classes/MyTools/**/*.h'
s.source_files  = 'Pod/Classes/**/*.{h,m,swift}'
Run Code Online (Sandbox Code Playgroud)

PSS.我的伞形标题不会导入MyTools.h

PSSS.只是试图从主模块中排除标题:

framework module MyModule {
    umbrella header "MyModule-umbrella.h"

    export *
    exclude header "MyTools.h"

    explicit module Private {
        header "MyTools.h"
    }
}
Run Code Online (Sandbox Code Playgroud)

没运气.

frameworks module access-control cocoapods swift

8
推荐指数
1
解决办法
2851
查看次数