日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 草av在线 | 免费黄网站在线 | 黄色国产在线 | 做暧暧视频在线观看 | 91玖玖| 欧亚在线视频 | 五级黄高潮片90分钟视频 | 久久久久久蜜桃一区二区 | 国产精品自拍99 | 涩涩视频在线播放 | 亚洲AV无码精品色毛片浪潮 | 爱操av | 亚洲少妇30p| 四级黄色片 | 好紧好爽再浪一点视频 | 777奇米四色 | 亚洲每日在线 | 三级网站视频 | 色黄视频网站 | 成年男女免费视频网站 | 日本色中色 | 亚洲天堂福利视频 | 欧美在线一区二区三区 | 伊人狼人综合 | 精品肉丝脚一区二区三区 | 亚洲高清在线视频 | 精品成人中文无码专区 | 欧美老熟妇乱大交xxxxx | 亚洲日批 | 男男野外做爰全过程69 | 中文字幕三级视频 | 亚洲一区二区在线播放 | 日韩av成人 | 婷婷色av | 国产精品成人无码免费 | 亚洲视频在线网 | 少妇做爰免费视频播放 | 性农村xxxxx小树林 | 男人天堂亚洲天堂 | 中文字幕永久在线 | 自拍一级片 | 亚洲综合免费 | 中文字幕一区二区三区门四区五区 | 免费在线观看你懂的 | 最近2018年手机中文字幕版 | 嫩草影院在线免费观看 | 2023av在线 | 中文字幕第7页 | 欧美zozo| 美女扒开腿让人桶爽原神 | 亚洲免费中文字幕 | 香蕉久久网站 | 日韩综合另类 | 天天色天天插 | 综合五月婷 | 污网站免费| 久久久激情视频 | www日韩欧美| 亚洲男女一区二区三区 | 久久精品www人人爽人人 | 亚洲欧美a | 大香伊人中文字幕精品 | 国产手机av| 牛牛影视av | 五月婷婷深深爱 | 日本少妇b | 黄色同人网站 | 捆绑束缚调教 | 中文字幕伦理 | 麻豆视频在线免费观看 | 亚洲黄色大全 | 国产精品情侣 | 欧美绿帽合集xxxxx | 日精品 | 日韩精品高清在线观看 | 久久人妻少妇嫩草av无码专区 | 欧美久久综合网 | 国产suv精品一区二区69 | 日本一区二区三区成人 | 精品一区在线观看视频 | 草草影院一区二区三区 | 久久调教 | 金瓶狂野欧美性猛交xxxx | 中国女人黄色大片 | 国产乱码精品一区二三区蜜臂 | 欧洲色网 | 91在线免费网站 | 国产精品毛片一区视频播 | 日韩大片免费在线观看 | 伊人久久一区二区三区 | 韩国三级hd中文字幕的背景音乐 | 日产精品一区二区 | 国产xxxxx在线观看 | 美女扒开大腿让男人桶 | 国产东北露脸精品视频 | 亚洲hh| 国精产品一区一区三区视频 | 国产97色在线 | 日韩 | 免费中文字幕在线观看 |