问题标签 [database-permissions]
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.
mysql - 用户在 MySQL 中具有 SELECT 权限的表的列表
简短版:如何编写 SQL 过程来列出特定用户可以访问的 MySQL 数据库中的几个表中的哪一个?
更长的版本:
我正在编写一个多用户应用程序,它可以访问包含公司多个分支机构数据的数据库。该数据库有许多任何用户都可以访问的查找表,以及只有授权用户才能访问的每个分支的表。我的策略是:
- 编写一个存储过程,返回用户具有 SELECT 权限的相关表的列表。
- 从应用程序中调用该过程。如果只返回一个表,请使用它,否则让用户选择他们想要访问的分支(例如,对于经理)。
我无法弄清楚如何编写这样的存储过程。SHOW GRANTS FOR CURRENT_USER
是一种明显的可能性,但解析如下:
在 SQL 中找出表是什么似乎太混乱了。从持有权限的实际表中做一个SELECT
似乎也有问题,因为我必须复制 MySQL 的逻辑来组合来自各种表(用户、数据库、主机等)的权限
有什么智慧之言吗?
c# - SQL Server 2008 EF 4 - 限制使用权限返回的数据库记录?
在我们的数据库中,所有表都链接回一个表。这个表有一个位列来限制记录是否显示。目前,记录在网站的代码端进行过滤。
有什么方法可以设置权限,以便用户A 永远不会在数据库中看到该公共位列设置为 true 的任何记录?
我们使用的是 SQL Server 2008。
或者,如果您有任何想法如何在那里实现它,我们也在 .net 4(在 c# 中)中使用实体框架 4.0?
感谢您的反馈意见。
android - Mode_World_Readable 的 SqliteOpenHelper,怎么样?
SqliteOpenHelper
默认情况下在mode_private
. 我们如何使用 SqliteOpenHelper 创建世界可读/可写数据库?
否则我是否需要使用Context.openOrCreateDatabase()
couchdb - CouchDB 对 _users 数据库的读/写限制
我想限制用户权限,以便普通用户只能读/写自己的用户文档。
我设法设置了写权限,以便用户只能编辑他们自己的文档(通过设计文档中的 validate_doc_update 函数)。
现在我只需要限制用户查看用户列表或其他用户文档。如果我将数据库读取权限设置为“_admin”角色,那么用户将无法查看自己的文档,这不是我想要的。
这可以以更一般的方式完成吗?即设置读取权限,以便用户只能读取数据库中的某些特定文档?
oracle - Oracle SQL Developer 使用不同的模式访问 SYS 包
使用Oracle SQL Developer我正在尝试访问一个给定的包,该包由SYS
FOO 模式创建并在其中具有EXECUTE
权限DEBUG
,实际上执行 adesc
将产生以下输出:
问题是这样的包在Connections > My Connection > Packages下不可见。
任何反馈将不胜感激。提前非常感谢。
sql-server - 如何为不同数据库中的登录提供对 SQL Server 数据库邮件程序的访问权限?
我想知道如何在 SQL Server 中设置权限,以允许我的应用程序登录/角色能够使用msdb.dbo.sp_send_dbmail
.
我有一个数据库 MyDb,一个用户MyUser
是角色的成员AppRole
。我有一个myProc
调用msdb.dbo.sp_send_dbmail
. 如果我myProc
在登录时执行sa
,一切正常,但如果我在登录时执行,则MyUser
出现错误:
消息 229,级别 14,状态 5,过程 sp_send_dbmail,第 1 行
对象“sp_send_dbmail”、数据库“msdb”、架构“dbo”的 EXECUTE 权限被拒绝。
我的数据库没有 TRUSTWORTHY ON,因此我相信我不能使用 EXECUTE AS 来模拟不同的用户,例如使用 EXECUTE AS OWNER 创建 myProc ...(MSDN 参考)
因此,我认为我需要让我的用户也是 msdb 中的用户,但是我可以在角色级别执行此操作,还是需要让我的每个数据库用户也是 msdb 中的用户?
我使用的数据库邮件配置文件设置为公开,所以我认为这与配置文件权限无关。
mysql - 授予对具有特定前缀的多个表的权限
我正在使用表前缀方法让多个客户端使用同一个数据库。每个客户端创建的表数约为 55。我可以执行以下操作,而不是通过手动列出表来完成所有授权?
sql - SQL Server 2008 授予选择权限
我无法将用户添加到我在本地计算机上设置的测试数据库。我已经很好地添加了用户,但用户无权访问SELECT
数据库(或其他任何事情)。我已经尝试过服务器、数据库和表下的权限选项卡(只有一个,它是一个非常简单的数据库,仅用于测试)并为每个选项选择了授权,但它仍然不起作用。我也尝试过执行 Transact-SQL 命令,例如:
以及其他一些成功返回的组合,但我仍然无权从表中选择数据。有什么建议么?
mysql - 授予子网上所有机器的mysql访问权限
我有一个在 Windows 上运行的 mysql 实例(和模式),我可以通过基于 localhost 作为服务器的连接字符串访问它。
现在我希望能够从同一子网上的另一台机器访问这个数据库。
如果可能的话,我想使用单个用户,但允许它从同一子网上的任何机器访问。
如何为此设置安全性?(我已经打开了相关的防火墙端口)
谢谢, 埃亚尔
sql-server-2008 - 拒绝用户访问以更改 sql server 中的任何表或关系
如何拒绝访问数据库中的特定用户以更改 sql server 数据库上的任何表或列或关系。是否有可能,如果我们拒绝用户对“模式”的更改访问,这是否意味着用户被拒绝更改访问与该模式相关的所有对象。例如,我有一个名为 sample 的模式。架构示例中有 21 个表。如果我拒绝向用户更改样本。这是否意味着不允许用户更改 21 个表。请让我知道什么是更好的方法。
谢谢。