簡體   English   中英

Mysql:允許查詢其他不可用的列?

[英]Mysql: allow query on an otherwise inaccesible column?

我有一個表格,我希望阻止某些用戶查看。 我理解我應該能夠使用視圖執行此操作,即具有排除特定列的視圖,並拒絕訪問該表但允許訪問視圖(注意,用戶無需更新表/視圖)。

然而, 想允許針對該領域的平等查詢。 如:

SELECT * FROM some_table_or_view WHERE hidden_field = 'some_value';

澄清:

  • 不應該在一般查詢中返回hidden_field
  • 應該可以在hidden_field值上運行具有約束(最好只是相等約束)的hidden_field

這可能嗎?

(編輯:如果在除mysql之外的dbms中有解決方案,我也很高興聽到這個)。

您可以創建一個存儲過程,該過程將返回您允許其返回的所有字段,然后您可以將hidden_​​value(過濾條件)作為參數傳遞。

禁止訪問該表的數據庫用戶,但允許他們調用存儲過程。

當然,如果您對表有多種類型的查詢,則必須創建多個存儲過程。 但至少它解決了你的權利問題。

不它不是。 為用戶提供使用hidden_​​value列過濾結果的可能性意味着他們具有選擇權限,這也意味着他們可以查看列,從而選擇它。 這里http://dev.mysql.com/doc/refman/5.1/en/grant.html是您可以授予或不授予mySQL中用戶權限的列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM