日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Apache Derby数据库用户和权限

發(fā)布時間:2023/12/3 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Apache Derby数据库用户和权限 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

抽象

Apache Derby很棒! 尤其是在微服務(wù)環(huán)境中,服務(wù)的數(shù)據(jù)(可能)會縮減,并且不需要更強(qiáng)大的RDBMS。 Derby很棒,因?yàn)樗浅R子谑褂?#xff0c;尤其是在涉及用戶和權(quán)限時,您不需要任何東西! 但是,您可能想要創(chuàng)建一個具有有限權(quán)限的應(yīng)用程序級用戶,以在Derby中使用。 本博客的目的是記錄如何在Derby中創(chuàng)建應(yīng)用程序級別的受限權(quán)限用戶。

免責(zé)聲明

這篇文章僅供參考。 在使用所提供的任何信息之前,請認(rèn)真思考。 從中學(xué)到東西,但最終自己做出決定,風(fēng)險自負(fù)。

要求

我使用以下主要技術(shù)完成了本文的所有工作。 您可能可以使用不同的技術(shù)或版本來做相同的事情,但不能保證。

  • Apache Derby 10.14.1.0
  • Java 1.8.0_152_x64

我將不涉及下載和安裝這些技術(shù)的過程。 我將其留給您練習(xí)。

運(yùn)行Derby網(wǎng)絡(luò)服務(wù)器

您必須做的第一件事是運(yùn)行Derby網(wǎng)絡(luò)服務(wù)器。 在我之前的博客文章“ 同一主機(jī)上的多個Derby網(wǎng)絡(luò)服務(wù)器”中 ,我提供了有關(guān)如何執(zhí)行此操作的詳細(xì)說明。 這是tldr; (對于Windows):

config-resiste.cmd

@echo off REM --- START EDITING --- set DERBY_HOME=C:\Users\Michael\Applications\Derby\db-derby-10.14.1.0-bin set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_152 set NS_HOME=C:\Users\Michael\Applications\Derby\servers\resiste\data set NS_PORT=11528 REM --- STOP EDITING --- set PATH=%DERBY_HOME%\bin;%PATH% set DERBY_OPTS=-Dderby.drda.portNumber=%NS_PORT% -Dderby.system.home=%NS_HOME%

起始電阻

@echo off call config-resiste.cmd StartNetworkServer

停止電阻

@echo off call config-resiste.cmd StopNetworkServer

現(xiàn)在您可以運(yùn)行Derby網(wǎng)絡(luò)服務(wù)器,讓我們對其進(jìn)行配置。

配置Derby網(wǎng)絡(luò)服務(wù)器

要配置Derby網(wǎng)絡(luò)服務(wù)器,您需要創(chuàng)建一個derby.properties文件。 但是文件去哪了? 它可以在幾個不同的地方去。 讓我們來看看。

我首先假設(shè)您忽略了上面的“運(yùn)行Derby網(wǎng)絡(luò)服務(wù)器”部分,而是使用所有默認(rèn)設(shè)置運(yùn)行Derby。 如果是這種情況,您可能通過找到%DERBY_HOME%\bin\startNetworkServer.bat文件并雙擊來啟動網(wǎng)絡(luò)服務(wù)器。 如果這樣做(強(qiáng)烈建議不%DERBY_HOME%\bin則Derby會認(rèn)為%DERBY_HOME%\bin目錄是其系統(tǒng)目錄。 您可以通過查找%DERBY_HOME%\bin\derby.log文件來確認(rèn)。 如果確認(rèn),則需要創(chuàng)建%DERBY_HOME%\bin\derby.properties文件。 無論derby.log文件在哪里,都可以在其中創(chuàng)建derby.properties文件。

另一方面,如果您沒有忽略上面的“運(yùn)行Derby網(wǎng)絡(luò)服務(wù)器”部分,那么恭喜您! derby.properties文件必須進(jìn)入-Dderby.system.home Java系統(tǒng)屬性設(shè)置的目錄中。 請參閱上面的config-resiste.cmd文件示例。

現(xiàn)在您知道將derby.properties文件放在derby.properties ,這里是(放置示例)其中的內(nèi)容:

# Passwords don't expire for 10 years derby.authentication.native.passwordLifetimeMillis=315360000000# Use the best hash algorithm you can derby.authentication.builtin.algorithm=SHA-512# Use a larger salt length for better security derby.authentication.builtin.saltLength=128# Re-hash this number of times for better security derby.authentication.builtin.iterations=1564

現(xiàn)在,您已經(jīng)配置了網(wǎng)絡(luò)服務(wù)器。 啟動它,讓我們使用它。 我們將使用它的第一件事是配置Derby管理員用戶。 接下來我們來看。

運(yùn)行ij

在配置Derby admin用戶之前,我們首先需要運(yùn)行ij應(yīng)用程序。 ij對Derby而言是sqlplus對Oracle而言; 只是一個簡單的命令行界面。 查找并運(yùn)行%DERBY_HOME%\bin\ij.bat 。

注意對于博客的其余部分, "ij>"提示符將指示必須在ij執(zhí)行的SQL命令。 我假設(shè)您會發(fā)現(xiàn)需要運(yùn)行ij來執(zhí)行這些命令。

現(xiàn)在ij正在運(yùn)行,我們可以完成一些工作。 讓我們看一下該Derby管理員用戶。

創(chuàng)建管理員用戶

現(xiàn)在,Derby網(wǎng)絡(luò)服務(wù)器已配置并正在運(yùn)行,我們需要配置admin用戶。 管理員用戶將具有執(zhí)行任何數(shù)據(jù)庫操作的完整權(quán)限。 讓我們看一下命令:

ij> connect 'jdbc:derby://localhost:11528/resiste;create=true;' user 'sa_resiste'; ij> CALL SYSCS_UTIL.SYSCS_CREATE_USER('sa_resiste', 'derby123'); ij> disconnect; ij> exit;

第1行是用于連接數(shù)據(jù)庫的標(biāo)準(zhǔn)JDBC連接字符串。 數(shù)據(jù)庫名稱為resiste 。 由于這是第一次連接數(shù)據(jù)庫,因此連接字符串包含create=true; 創(chuàng)建數(shù)據(jù)庫。 我使用sa_resiste用戶連接到數(shù)據(jù)庫,并且由于是在第一次連接時創(chuàng)建數(shù)據(jù)庫,因此sa_resiste用戶將被設(shè)置為admin用戶。 第2行使用密碼derby123創(chuàng)建該用戶。 然后,第3行和第4行與數(shù)據(jù)庫斷開連接并退出ij 。

立即重新啟動網(wǎng)絡(luò)服務(wù)器

重新啟動后,讓我們看看它是否有效。 使用sa_resiste連接,沒有密碼。 連接將獲得身份驗(yàn)證失敗。

ij> connect 'jdbc:derby://localhost:11528/resiste' user 'sa_resiste'; ERROR 08004: Connection authentication failure occurred. Reason: Userid or password invalid.

現(xiàn)在使用sa_resiste和密碼連接。 連接將成功。

ij> connect 'jdbc:derby://localhost:11528/resiste' user 'sa_resiste' password 'derby123'; ij>

好! 現(xiàn)在創(chuàng)建了admin用戶。 接下來,我們將使用admin用戶創(chuàng)建一個表。 該表將用于驗(yàn)證我們稍后將創(chuàng)建的應(yīng)用程序級用戶的權(quán)限。

創(chuàng)建測試表

現(xiàn)在,我們將使用admin用戶創(chuàng)建測試表。 我們這樣做有兩個原因。

  • 驗(yàn)證管理員用戶是否具有所有權(quán)限,并且能夠執(zhí)行這些SQL命令。
  • 驗(yàn)證稍后將創(chuàng)建的應(yīng)用程序級用戶的權(quán)限。
  • ij> connect 'jdbc:derby://localhost:11528/resiste' user 'sa_resiste' password 'derby123'; ij> create schema testing; ij> set schema testing; ij> create table names (full_name varchar(100)); ij> insert into names values ('rita red'); ij> select * from names; FULL_NAME ---------------------------------------------------------------------------------------------------- rita red ij> disconnect;

    接下來,讓我們創(chuàng)建應(yīng)用程序級用戶。

    創(chuàng)建應(yīng)用程序用戶

    現(xiàn)在來看看有趣的東西。 讓我們創(chuàng)建一個應(yīng)用程序級用戶。 這將是一個用戶,其權(quán)限僅限于應(yīng)用程序能夠執(zhí)行的操作。 例如,如果您的微服務(wù)僅用于獲取數(shù)據(jù),則應(yīng)用程序級用戶應(yīng)僅對數(shù)據(jù)庫表具有SELECT權(quán)限。 我們將測試應(yīng)用程序級用戶的權(quán)限,但首先讓我們創(chuàng)建用戶。

    ij> connect 'jdbc:derby://localhost:11528/resiste' user 'sa_resiste' password 'derby123'; ij> CALL SYSCS_UTIL.SYSCS_CREATE_USER('oscar', 'orange'); ij> disconnect; ij> exit;

    立即重新啟動網(wǎng)絡(luò)服務(wù)器

    重新啟動后,讓我們看看它是否有效。 與oscar 。 連接將成功,但是, oscar將無權(quán)讀取測試表。

    ij> connect 'jdbc:derby://localhost:11528/resiste' user 'oscar' password 'orange'; ij> select * from testing.names; ERROR 42502: User 'OSCAR' does not have SELECT permission on column 'FULL_NAME' of table 'TESTING'.'NAMES'. ij> disconnect;

    即使SELECT語句失敗,失敗也意味著測試成功。 oscar沒有權(quán)限,因此應(yīng)該不能從測試表中進(jìn)行選擇。 接下來讓我們配置oscar 。

    配置應(yīng)用程序用戶

    讓我們?yōu)閛scar設(shè)置一些權(quán)限。 當(dāng)然,需要sa_resiste管理員用戶才能執(zhí)行此操作。

    ij> connect 'jdbc:derby://localhost:11528/resiste' user 'sa_resiste' password 'derby123'; ij> set schema testing; ij> grant select on names to oscar; ij> disconnect;

    這將只給oscar 1個許可:從TESTING.NAMES表中進(jìn)行選擇。 讓我們看看它是否有效。

    ij> connect 'jdbc:derby://localhost:11528/resiste' user 'oscar' password 'orange'; ij> select * from testing.names; FULL_NAME ---------------------------------------------------------------------------------------------------- rita red ij> disconnect;

    恭喜你! 現(xiàn)在,您的Derby數(shù)據(jù)庫中具有一個應(yīng)用程序級別的用戶,其權(quán)限有限。

    摘要

    希望您喜歡學(xué)習(xí)如何使用Derby進(jìn)行簡單的用戶管理。

    翻譯自: https://www.javacodegeeks.com/2018/05/apache-derby-database-users-and-permissions.html

    總結(jié)

    以上是生活随笔為你收集整理的Apache Derby数据库用户和权限的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 射在线 | k8yy毛片| 久久久蜜桃一区二区 | 污的网站| av一级二级 | 美女露胸软件 | 亚洲欧美一区二区三区情侣bbw | 色偷偷噜噜噜亚洲男人 | 午夜不卡在线观看 | 欧美丰满一区二区免费视频 | 亚洲乱码国产乱码精品天美传媒 | 91女人18毛片水多国产 | 40到50岁中老年妇女毛片 | 日韩av网页| 毛片在线视频 | 亚洲区欧美| 欧美视频直播网站 | 日韩精品一区二区三 | 成人永久免费视频 | 熟女视频一区二区三区 | 黄色一级片国产 | 欧美在线观看免费高清 | 亚洲欧美激情精品一区二区 | 日韩激情久久 | 亚洲 欧美 自拍偷拍 | 国产精品久久久久久久免费观看 | 欧美韩国日本一区 | 亚洲一区国产一区 | 日啪 | 久久婷婷色综合 | 极品少妇xxxx精品少妇偷拍 | 亚洲乱码精品 | 五月丁香综合激情六月久久 | 99久久婷婷国产综合精品 | av天天堂| 亚洲精品888 | 国产午夜电影在线观看 | 成年人的黄色片 | 国产精品欧美激情在线 | 国产精品扒开腿做爽爽爽a片唱戏 | 精品自拍第一页 | 成人91网站 | 亚洲成人精品在线播放 | 粉嫩av一区二区三区四区五区 | 99久久精 | 五月依人网 | 亚洲一区二区三区av无码 | 一区二区三区视频在线播放 | 另类天堂 | 一区精品在线 | av最新版天堂资源在线 | 日韩一区二区三区在线免费观看 | 亚洲午夜伦理 | 国产精品激情偷乱一区二区∴ | 亚洲精品久久久久中文字幕二区 | 久久午夜一区 | 亚洲国产高清国产精品 | 无码人妻精品中文字幕 | 色婷婷久久综合 | 日韩欧美亚洲天堂 | 久久久久久一 | 国产第七页| 葵司ssni-879在线播放 | 欧美人妖69xxxxxhd3d | а√天堂资源在线 | 色啪综合| 午夜亚洲天堂 | 亚洲欧美韩国 | 性生活在线视频 | 精品久久影视 | 嫩草影院在线视频 | av久操| 国产欧美综合视频 | 久久久久久少妇 | 国产精品第6页 | 日日夜夜添| 日韩精品理论 | 亚洲精品久久 | 欧美大片一级 | 五月激情片 | 99福利视频导航 | 黄色一集片 | 午夜插插插| 91传媒视频在线观看 | 亚洲欧美经典 | 日日射夜夜 | 久久久夜夜 | 日本阿v视频在线观看 | 欧美精品在欧美一区二区 | 欧美亚洲综合久久 | 免费av入口 | 中文字幕人妻精品一区 | 三上悠亚激情av一区二区三区 | 青春草免费视频 | 国产精品入口日韩视频大尺度 | 天干夜天干天天天爽视频 | 性猛交ⅹxxx富婆视频 | caoporm超碰| 日韩高清三区 |