Quiero usar Apache Shiro y MySQL para mi reino. ¿Qué tablas y campos necesita Shiro para trabajar?¿Qué tablas de bases de datos requiere Apache Shiro?
Respuesta
Shiro no requieren tablas de base de datos para funcionar. Shiro usuarios pueden usar cualquier almacén de datos que quieren modelar o es propietario de usuarios, grupos, permisos etc.
Es un Realm Shiro 's responsabilidad de actuar como puente a sus datos (como quiera que la represente) y devolverlo en un formato que Shiro entiende.
Dado que Shiro no impone un modelo de datos sobre usted, esto es lo que le permite trabajar con tantos backends (LDAP, Active Directory, RDBMS, Sistema de archivos, etc.).
Si desea utilizar un RDBMS como su almacén de datos de respaldo, consulte el código fuente JdbcRealm de Shiro para que tenga una idea de cómo se verían sus tablas. Esto es solo un ejemplo. Podrías tener cualquier estructura de tabla que desees.
Una desnatada de Shiro quick startup page y Realm documentation page no trae nada sobre MySQL o bases de datos en absoluto. Basado en eso, no parece que ninguna tabla en particular sea requerida.
Las tablas se deben crear de alguna manera. –
según tengo entendido, solo requiere 3 tengo 3 tablas y 2 vistas que utilizo como fuente de datos para el marco. tengo esto en un Postgresql, pero puede adaptarlo para usar en otros dbs.
probar esto
CREATE SCHEMA app;
CREATE TABLE app.sec_permissions (
permission_id int4 NOT NULL,
permission_name varchar(64) NOT NULL,
role_id int4 NOT NULL,
CONSTRAINT pk_sec_permissions PRIMARY KEY (permission_id),
CONSTRAINT idx_sec_permissions_unq_name UNIQUE (permission_name)
);
CREATE INDEX idx_sec_permissions ON app.sec_permissions (role_id);
CREATE TABLE app.sec_roles (
role_id int4 NOT NULL,
role_name varchar(32) NOT NULL,
user_id int4 NOT NULL,
CONSTRAINT pk_sec_roles_0 PRIMARY KEY (role_id),
CONSTRAINT idx_sec_roles_unq_name UNIQUE (role_name)
);
CREATE INDEX idx_sec_roles ON app.sec_roles (user_id);
CREATE TABLE app.sec_users (
user_id int4 NOT NULL,
user_loginname varchar(32) NOT NULL,
user_password varchar(254) NOT NULL,
user_passsalt varchar(254) NOT NULL,
CONSTRAINT pk_sec_users PRIMARY KEY (user_id),
CONSTRAINT idx_sec_users_unq_loginname UNIQUE (user_loginname)
)
;
ALTER TABLE app.sec_permissions ADD CONSTRAINT fk_sec_permissions FOREIGN KEY (role_id) REFERENCES app.sec_roles(role_id) ON DELETE CASCADE ON UPDATE CASCADE
;
ALTER TABLE app.sec_roles ADD CONSTRAINT fk_sec_roles FOREIGN KEY (user_id) REFERENCES app.sec_users(user_id) ON DELETE CASCADE ON UPDATE CASCADE
;
CREATE VIEW app.sec_loginname_roles AS SELECT
su.user_loginname
, su.user_password
, su.user_passsalt
, sr.role_name
FROM
app.sec_users su
INNER JOIN app.sec_roles sr
ON
(su.user_id = sr.user_id );
CREATE VIEW app.sec_role_permissions AS SELECT sr.role_name, sp.permission_name
FROM app.sec_roles sr
INNER JOIN app.sec_permissions sp ON (sr.role_id = sp.role_id );
si encuentra algo mal, por favor mensaje Volver
- 1. Apache Shiro combinado con LDAP
- 2. ¿Bases de datos múltiples o muchas tablas?
- 3. Apache Shiro vs API nativas Java EE
- 4. Apache Shiro "con JSF 2.0"! ¿Como va?
- 5. Control de acceso de nivel de instancia en Apache Shiro
- 6. Configurando Apache Shiro con Google Guice Servlet
- 7. Polimorfismo en tablas de bases de datos SQL?
- 8. Nombrar tablas y vistas de bases de datos
- 9. mysql sincronización de dos tablas de 2 bases de datos
- 10. Grandes sitios web: ¿múltiples bases de datos o múltiples tablas?
- 11. Asociar tablas de diferentes bases de datos - Entity Framework
- 12. ¿Tablas de dos bases de datos diferentes en un DBML?
- 13. Rails 3 I18n para las tablas de bases de datos
- 14. Cómo mostrar todas las tablas de múltiples bases de datos
- 15. Seleccionar dos o varias tablas de bases de datos diferentes
- 16. Tablas/bases de datos separadas para informes y operaciones CRUD
- 17. MySQL: ¿Hay muchas tablas o muchas bases de datos?
- 18. Se han establecido las propiedades de CacheManager: Apache Shiro
- 19. ¿Tomcat requiere Apache httpd?
- 20. Estructura de datos para almacenar tablas de bases de datos arbitrarias
- 21. ¿Qué DB para grandes bases de datos?
- 22. ¿Qué bases de datos tengo permisos en
- 23. Disparadores de bases de datos
- 24. SOA y bases de datos compartidas
- 25. Bases de datos de Merging Rails
- 26. bases de datos múltiples de couchdb
- 27. Uso de Fluent-NHibernate con tablas en diferentes esquemas de bases de datos
- 28. carriles 3: cómo generar modelos de tablas de bases de
- 29. Bases de datos translúcidas
- 30. Cómo crear varias conexiones de bases de datos para diferentes bases de datos en java
Esta respuesta parece correcta, pero no responde la pregunta. Por ejemplo, un conjunto de declaraciones de creación sería una mejor respuesta. –