我用实体用户和权限构建了一个数据库
user(id,email,password,permission)权限(id,create_user,delete_user,user_fk)
create_user和delete_user是BOOLEAN.
关系:一对一
现在每个用户都可以拥有自己的权限.
我的问题是:如何使用shiro从数据库中读取权限?
我想将Web应用程序移交给某些人,但是不应允许这些人使用某些工具访问数据库。使用webapplicaton,在后台数据库就可以了。
Wildfly具有使用以下代码的配置:
<xa-datasource jndi-name="java:jboss/datasources/ExampleXADS" pool-name="ExampleXADS">
<driver>h2</driver>
<xa-datasource-property name="URL">jdbc:h2:mem:test</xa-datasource-property>
<xa-pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>true</prefill>
</xa-pool>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</xa-datasource>
Run Code Online (Sandbox Code Playgroud)
如您所见,还有用户名和密码。如何排除/加密这些密码,所以只有管理员知道数据库的密码。整个应用程序服务器也是如此-还有用户和密码。我怎样才能做到这一点?
编辑:“客户”将获得整个应用程序,包括Web服务器配置。(Wilfly和.war文件)仅用于将软件密钥保存在数据库中。如果“客户”第一次启动Web应用程序,则会提示他,因此请输入许可证密钥。输入许可证密钥后,将调用Web服务。返回代码为“ false”或“ true”(密钥有效或密钥无效)我的第一个想法是将标志存储在数据库中。但是,如果用户有权访问数据库,则可以自己操作此标志。还有其他设置“软件密钥有效”标志的可能性,而不是将标志保存在数据库中。有任何想法吗?