Quelles tables de firebase database sont requirejses par Apache Shiro?

Je veux utiliser Apache Shiro et MySQL pour mon royaume. Quels tableaux et champs Shiro doit-il travailler?

Shiro ne nécessite pas de tables de base de données pour fonctionner. Les utilisateurs de Shiro peuvent utiliser le magasin de données qu’ils souhaitent modéliser ou gérer des utilisateurs, des groupes, des permissions, etc.

Il incombe à Shiro Realm de servir de passerelle vers vos données (quel que soit le mode de représentation) et de les renvoyer dans un format compréhensible par Shiro.

Comme Shiro ne vous impose pas de modèle de données, c’est ce qui lui permet de fonctionner avec autant de backends (LDAP, Active Directory, SGBDR, système de fichiers, etc.).

Si vous voulez utiliser un SGBDR en tant que votre banque de données de sauvegarde, consultez le code source JdbcRealm de Shiro pour vous donner une idée de l’apparence de vos tables. Ceci est juste un exemple cependant. Vous pourriez avoir n’importe quelle structure de table que vous souhaitez.

si je comprends bien, il ne nécessite que 3 j’ai 3 tableaux et 2 vues que j’utilise comme source de données pour le cadre. Je l’ai sur un Postgresql, mais vous pouvez l’adapter à d’autres dbs.

essaye ça

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 vous trouvez quelque chose qui ne va pas, merci de poster

Un survol de la page de démarrage rapide de Shiro et de la page de documentation de Realm ne fait rien du tout sur MySQL ou les bases de données. Sur cette base, il ne semble pas que des tables particulières soient nécessaires .