[英]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.