标签: user-permissions

使用层次结构管理用户权限

我正在构建一个系统,组织将输入与其业务相关的信息.报告需要在多个级别上为用户提供,其中一些用户只能访问其组织的统计信息,而更高级别的用户将可以访问单个组织统计信息以及更高级别的实体的汇总统计信息(请参阅我的图表,其中包含图示层次结构).

示例层次结构

  • 市内将有一个或多个组织.
  • 一个县将有一个或多个市镇
  • 一个州将有一个或多个县
  • 将有一个或多个州
  • 可以随时添加组织,市政,县和州
  • 当组织,市,县被添加到系统中时,已经有权查看该状态的用户应该能够自动查看新组织/市/县的报告,而无需管理员明确授予他们权限.这同样适用于有权在层次结构中将其下面的新实体添加到系统时在市级和县级查看报告的用户.

一些例子:

用户1:只能查看组织#1的报告

用户2:可以查看市政#2下所有组织的报告

用户3:可以查看市政#1和#2下的所有组织的报告

用户4:可以查看县#3下所有组织的报告

用户5:可以查看状态#3下所有县的报告

我的问题是如何组织这个?我不确定在不向各个组织分配权限的情况下为报告分配权限的最佳方法.这显然是不切实际的.

我在这里看到了几个与ACL有关的问题,但它们似乎并不适用于此.如果确实如此,那么解释它与ACL的关系也是一个令人满意的答案.

php mysql reporting user-permissions

5
推荐指数
2
解决办法
2474
查看次数

OSError:[错误1]不允许操作

我正在尝试运行一个python脚本,它使用由postlinker创建的二进制文件(xFiles.bin.addr_patched).但是,我收到了这个错误.

File "abc.py", line 74, in ParseCmd
shutil.copy(gOptions.inputX, gWorkingXFile)
File "/usr/lib/python2.6/shutil.py", line 89, in copy
copymode(src, dst)
File "/usr/lib/python2.6/shutil.py", line 66, in copymode
os.chmod(dst, mode)

OSError: [Errno 1] Operation not permitted: 'myPath/xFiles.bin.addr_patched'
Run Code Online (Sandbox Code Playgroud)

当我通过ls -l检查此xFiles.bin的权限时,它显示了这一点

-rwxrwxrwx 1 nobody  nogroup 
Run Code Online (Sandbox Code Playgroud)

我认为错误是因为这个文件是由其他一些应用程序创建的,我运行的python脚本无法访问它.由于我是ubuntu的初学者,我真的不知道如何修复它.对于如何解决这个问题,有任何的建议吗?

解决了:

作为答案之一建议:chown用户名:groupname文件名修复此问题

python linux file-permissions user-permissions

5
推荐指数
2
解决办法
6万
查看次数

了解用户权限以及如何应用它

我正在使用使用Zend Framework的Social Engine为站点开发模块.我是Zend Framework和Social Engine的新手,但在OOP和MVC架构方面有经验,因此可以相对快速地掌握基础知识.

它是我正在开发的测试模块,所以刚刚构建了一个简单的模块,用户可以在其中创建,编辑或删除CD信息.然后有一个小部件可以显示在他们喜欢的地方,显示有CD信息.

我现在正处于需要设置CD人员可以看到的权限等的地步.所以我研究了其他模块,发现Poll模块是一个具体的例子.

看看其他模块,我意识到当你创建一些东西时,他们让用户手动设置他们的权限.

因此,将此代码添加到我的表单中以创建具有相关权限的选择框:

$auth = Engine_Api::_()->authorization()->context;
$user = Engine_Api::_()->user()->getViewer();
$viewOptions = (array) Engine_Api::_()->authorization()->getAdapter('levels')->getAllowed('ryan', $user, 'auth_view');
$viewOptions = array_intersect_key($availableLabels, array_flip($viewOptions));

$privacy = null;

if( !empty($viewOptions) && count($viewOptions) >= 1 ) {
    // Make a hidden field
    if(count($viewOptions) == 1) {
        //$this->addElement('hidden', 'auth_view', array('value' => key($viewOptions)));
        $privacy  = new Zend_Form_Element_Hidden('auth_view');
        $privacy->setValue(key($viewOptions));
        // Make select box
    } else {
        $privacy = new Zend_Form_Element_Select('auth_view');
        $privacy->setLabel('Privacy')
                ->setDescription('Who may see this CD?')
                ->setMultiOptions($viewOptions)
                ->setValue(key($viewOptions));
        /*$this->addElement('Select', 'auth_view', array(
            'label' …
Run Code Online (Sandbox Code Playgroud)

php permissions zend-framework user-permissions socialengine

5
推荐指数
1
解决办法
2689
查看次数

与其他用户共享 Google App 脚本 - 请求权限并授权脚本

我已经创建了一个带有一些 GAS 的电子表格,它打开了一个带有一些输入的表单,现在我需要部署 web 应用程序并将其共享给其他一些用户。问题是,当其他用户尝试打开电子表格(在 Google Drive 中共享)时,他们会收到以下错误消息:

在此处输入图片说明

我已经尝试过:

  1. 将电子表格共享给用户(添加具有权限的用户电子邮件地址可以编辑
  2. 使用以下设置部署 webapp 设置:

在此处输入图片说明

如您所见,设置屏幕报告“您需要在分发 URL 之前授权脚本”。

如何授权脚本?我找不到办法做到这一点。您知道是否有另一种方式可以共享并让其他用户运行该脚本?

google-sheets user-permissions google-apps-script google-drive-api

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

gnome-terminal 仅适用于 sudo

我知道以下问题可能需要您投入比其他问题更多的时间来修复它,但如果您感兴趣,请这样做。它可能对你也有用:)

我试图配置一个很好的“应用程序”,名为iface. 它允许在 Windows 的命令提示符下使用 Linux VM 的终端。像这样:

在此处输入图片说明

这些脚本在这里:https://github.com/gynvael/iface 有如何配置它详细的视频指令(波兰,但你可以从视频本身的理解)在这里

无论如何,当尝试gnome-terminal使用我的(非 root 用户)Linux 用户运行命令时 - 我遇到以下错误:

Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error calling StartServiceByName for org.gnome.Terminal: Timeout was reached

但是,当尝试使用sudo gnome-terminal或使用 root 用户运行它时(如视频中的 1:52:30 分钟) - 它可以工作并打开命令提示符。

实际上,该命令(在 Windows 中)if-l-cmd.py /(如您在 1:56:09 分钟中看到的)起作用了,但是在我重新启动计算机后 - 它不再起作用了。我试图从一开始就在另一台计算机上安装所有内容,但遇到了同样的问题。

帮助将不胜感激!

python gnome-terminal user-permissions

5
推荐指数
0
解决办法
661
查看次数

如何根据用户角色/权限来管理菜单

我已经开始了一个新的角度项目,在我的应用程序中有3种类型的用户(管理员,客户和公司)。如何限制客户访问管理员用户菜单?

web-applications menu user-permissions typescript angular

5
推荐指数
2
解决办法
9360
查看次数

如果用户第一次拒绝 swift 如何再次请求许可(RunTime)

我拒绝位置权限第一次应用程序启动,当用户单击位置按钮时,我想显示请求权限的警报对话框。

这是我的 sudo 代码

单击位置按钮

if dont have location permission {
   ask for permission
} else {
  get current location
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码。请检查我代码中的注释。希望您理解我的问题。提前致谢。

@IBAction func getCurrentLocationButtonClick(_ sender: UIButton) {
///////////How to implement that sudo code/////////////////////////////
///////////Why This method is not calling for second time /////////////
//        locationManager.desiredAccuracy = kCLLocationAccuracyBest
//        locationManager.requestWhenInUseAuthorization()
//        locationManager.requestLocation()
/////////////////////////////////////////////////////
          locationManager.startUpdatingLocation()   
   }


override func viewWillAppear(_ animated: Bool) {
    locationManager.delegate = self
    locationManager.desiredAccuracy = kCLLocationAccuracyBest
    locationManager.requestWhenInUseAuthorization()
    locationManager.requestLocation()
}

extension NotificationCenterViewController : CLLocationManagerDelegate {

    func locationManager(_ manager: CLLocationManager, didChangeAuthorization …
Run Code Online (Sandbox Code Playgroud)

user-permissions ios swift

5
推荐指数
1
解决办法
4012
查看次数

通过 MediaProjection 进行 ScreenCapture,无需用户干预 Kiosk 应用程序 - Android

我在一家数字标牌公司工作,该公司的 Android 设备以自助服务终端模式运行。最近,我们想添加用于调试的屏幕截图。最简单的方法是使用

getWindow().getDecorView().getRootView().getDrawingCache()

创建位图并通过网络发送它,但这不会捕获视频,因为它是在表面视图中呈现的。

MediaProjection 的 createVirtualDisplay 看起来很有希望,但使用此功能所需的明确许可是不可接受的。即使是第一次请求用户许可并保留结果以供进一步使用也是不可接受的,因为这会破坏现有的实现。

请帮我解决这个问题。

注意:那里的所有设备,要么是 root,要么,我们的应用程序作为设备所有者运行,并且 android 版本高于 4.4

screen-capture user-permissions rooted-device device-owner android-mediaprojection

5
推荐指数
0
解决办法
339
查看次数

私有 Docker 注册表的多个用户?

我有一个私有 Docker 注册表正在运行。

任何用户都应该能够推送和拉取任何图像。因此,现在我根本没有使用任何用户标识。

但是,用户不应该能够欺骗注册表来覆盖其他用户的图像。

如果用户 A 上传 ourRegistry/myProgram:version_1,那么用户 B 应该无法上传标记为 ourRegistry/myProgram:version_2 的内容。

有没有办法将用户身份验证添加到私有注册表来做到这一点?

此外,注册表是已经拥有自己的注册用户数据库的服务器的一部分。有没有办法同步用户,让用户不必记住两个密码?

authentication user-permissions data-synchronization docker docker-registry

5
推荐指数
1
解决办法
4343
查看次数

Mojave 中命令行工具的摄像头和麦克风权限

我正在开发一个需要麦克风和摄像头访问权限的命令行实用程序,但在 Mojave 中不请求权限请求。我认为这个问题是由于访问这个设备需要一个带有 info.plist 的包来描述设备使用的需要。我错过了什么还是有其他方法?我只需要在我的 mac 上运行命令行 util,可能在后台运行,没有应用商店或企业发行版。

user-permissions macos-mojave

5
推荐指数
0
解决办法
296
查看次数