Derby NATIVE身份验证用户创建

黑,白

我用创建数据库NATIVE authentication当我使用临时密码创建用户时,用户无法使用其临时密码登录数据库。这是我的代码;

创建用户;

String uName = userNameTextField.getText();
String pass = new String (passTextField.getPassword());

stmt2.execute("CALL SYSCS_UTIL.SYSCS_CREATE_USER('"+"\""+uName+"\""+"', '"+"\""+pass+"\""+"')");

连接尝试;

Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
String connectionUrl = "jdbc:derby://10.90.232.2:1527/myDB"+";create=false;" + "user=" +"\""+ unameTextField.getText() +"\""+ ";" + "password=" +"\""+ new String (passwordPasswordField.getPassword()) +"\""+ ";"; 
Connection con = DriverManager.getConnection(connectionUrl);

SQLException;

ERROR 08004: DERBY SQL error: ERRORCODE: 40000, SQLSTATE: 08004, SQLERRMC: Database connection refused.

如果我尝试创建同一用户,则德比转username already exist错误。因此,这表明我实际上已经完成了用户创建。但是我不明白为什么密码不被接受。

- 编辑 -

我也检查了SYS.SYSUSERS存储NATIVE用户的系统表我在那里看到创建的用户。

询问;

String query = "select USERNAME,HASHINGSCHEME,LASTMODIFIED from SYS.SYSUSERS";
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();  
int columnsNumber = rsmd.getColumnCount();

while (rs.next()) {
   for (int i = 1; i <= columnsNumber; i++) {
      if (i > 1) System.out.print(",  ");
      String columnValue = rs.getString(i);
      System.out.print(columnValue);
   }
   System.out.println("");
}

输出;

owner,  3b62:53f094d5ab95f45fd351aca5856e0c06:1000:SHA-256,  2016-01-03 10:41:45.008
testuser,  3b62:bb98971e23c129fcd6e4cef37e9ac01d:1000:SHA-256,  2016-01-03 10:55:10.969

PS:另外,SYS.SYSUSERS系统表具有PASSWORD列。但是,当我们尝试在查询中获取它时,derby将变成java.sql.SQLSyntaxErrorException: No one can view the 'SYSUSERS'.'PASSWORD' column.异常。

黑,白

- 解决了 -

如果使用数据库创建;

s.executeUpdate("CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(" +
                "'derby.database.defaultConnectionMode', 'noAccess')");

覆盖用户权限。而且他们无法登录系统。一定是fullAccess

我们必须指定;

s.executeUpdate("CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(" +
                "'derby.connection.requireAuthentication', 'true')");

s.executeUpdate("CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(" +
                "'derby.database.sqlAuthorization', 'true')");

为了限制到达系统unauthenticatedunauthorized用户。我们可以用GRANTREVOKE,用户可达到哪些数据库对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在EmbeddedD Derby中启用用户身份验证

来自分类Dev

在EmbeddedD Derby中启用用户身份验证

来自分类Dev

防止Derby SQL用户身份验证更改

来自分类Dev

在Apache Derby中创建用户定义的聚合函数

来自分类Dev

在Apache Derby中创建用户定义的聚合函数

来自分类Dev

django 创建通用类来验证用户身份验证

来自分类Dev

如何以小写名称创建表-JavaDB / Derby?

来自分类Dev

Java DB:我可以删除由derby创建的表吗

来自分类Dev

Devise令牌身份验证-安装devise令牌身份验证后无法创建用户帐户

来自分类Dev

apache Derby-创建新数据库时获取java.io.FileNotFoundException:derby.log(访问被拒绝)

来自分类Dev

PouchDB身份验证:创建新的CouchDB用户

来自分类Dev

使用Laravel 5.2身份验证创建新用户

来自分类Dev

Firebase根据身份验证数据创建用户对象

来自分类Dev

为 Django 测试创建经过身份验证的用户

来自分类Dev

用户身份验证错误

来自分类Dev

JWT身份验证和用户验证

来自分类Dev

从Google身份验证令牌创建Firebase身份验证

来自分类Dev

不创建应用程序用户的MVC 5身份(v2)身份验证

来自分类Dev

使用联合身份的 Cognito 身份验证不会在池中创建用户

来自分类Dev

如何在ASP.NET MVC身份验证中创建和验证用户?

来自分类Dev

Flutter:使用从Firebase身份验证创建的帐户在Firestore中创建用户

来自分类Dev

如何在java db(derby)中添加用户名和密码

来自分类Dev

OSGi中的嵌入式Derby,使用连接池创建多个连接

来自分类Dev

NetBeans在哪里创建Derby嵌入式数据库

来自分类Dev

WCF用户身份验证和授权

来自分类Dev

C#Firebase用户身份验证

来自分类Dev

Laravel基于令牌的用户身份验证?

来自分类Dev

CouchDB / PouchDB用户身份验证/授权

来自分类Dev

Grape and Devise的用户身份验证

Related 相关文章

  1. 1

    在EmbeddedD Derby中启用用户身份验证

  2. 2

    在EmbeddedD Derby中启用用户身份验证

  3. 3

    防止Derby SQL用户身份验证更改

  4. 4

    在Apache Derby中创建用户定义的聚合函数

  5. 5

    在Apache Derby中创建用户定义的聚合函数

  6. 6

    django 创建通用类来验证用户身份验证

  7. 7

    如何以小写名称创建表-JavaDB / Derby?

  8. 8

    Java DB:我可以删除由derby创建的表吗

  9. 9

    Devise令牌身份验证-安装devise令牌身份验证后无法创建用户帐户

  10. 10

    apache Derby-创建新数据库时获取java.io.FileNotFoundException:derby.log(访问被拒绝)

  11. 11

    PouchDB身份验证:创建新的CouchDB用户

  12. 12

    使用Laravel 5.2身份验证创建新用户

  13. 13

    Firebase根据身份验证数据创建用户对象

  14. 14

    为 Django 测试创建经过身份验证的用户

  15. 15

    用户身份验证错误

  16. 16

    JWT身份验证和用户验证

  17. 17

    从Google身份验证令牌创建Firebase身份验证

  18. 18

    不创建应用程序用户的MVC 5身份(v2)身份验证

  19. 19

    使用联合身份的 Cognito 身份验证不会在池中创建用户

  20. 20

    如何在ASP.NET MVC身份验证中创建和验证用户?

  21. 21

    Flutter:使用从Firebase身份验证创建的帐户在Firestore中创建用户

  22. 22

    如何在java db(derby)中添加用户名和密码

  23. 23

    OSGi中的嵌入式Derby,使用连接池创建多个连接

  24. 24

    NetBeans在哪里创建Derby嵌入式数据库

  25. 25

    WCF用户身份验证和授权

  26. 26

    C#Firebase用户身份验证

  27. 27

    Laravel基于令牌的用户身份验证?

  28. 28

    CouchDB / PouchDB用户身份验证/授权

  29. 29

    Grape and Devise的用户身份验证

热门标签

归档