Durée estimée : environ 2 heures
Ce TP propose la gestion d’un système de bibliothèque simplifié. Seules les fonctionnalités d’authentification et d’autorisation d’accès sont mises en avant dans ce TP. Pour ce TP, vous partirez de la ressource fournie au téléchargement qui propose la base de gestion des livres gérés par cette bibliothèque.
Ainsi, il est possible de lister, d’ajouter, de visualiser, d’éditer et de supprimer les livres. Aucune restriction d’accès n’est pour le moment activée.
update-database
.TpBiblioDB
, incluant les tables de gestion des utilisateurs et rôles, ainsi que la table Livres.AspNetRoles
:
INSERT INTO [dbo].[AspNetRoles] ([Id], [Name], [NormalizedName], [ConcurrencyStamp])
VALUES (N'1', N'administrator', N'ADMINISTRATOR', NULL);
INSERT INTO [dbo].[AspNetRoles] ([Id], [Name], [NormalizedName], [ConcurrencyStamp])
VALUES (N'2', N'bibliothecaire', N'BIBLIOTHECAIRE', NULL);
INSERT INTO [dbo].[AspNetRoles] ([Id], [Name], [NormalizedName], [ConcurrencyStamp])
VALUES (N'3', N'membre', N'MEMBRE', NULL);
AspNetUsers
:
INSERT INTO [dbo].[AspNetUsers] ([Id], [UserName], [NormalizedUserName], [Email], [NormalizedEmail], [EmailConfirmed], [PasswordHash], [SecurityStamp], [ConcurrencyStamp], [PhoneNumber], [PhoneNumberConfirmed], [TwoFactorEnabled], [LockoutEnd], [LockoutEnabled], [AccessFailedCount])
VALUES (N'09917878-d799-44db-86fe-1136e15f7c63', N'jade@hotmail.fr', N'JADE@hotmail.fr', N'jade@hotmail.fr', N'JADE@hotmail.fr', 1, N'AQAAAAEAACcQAAAAEBz0npGNkb4Pq1UIlU7qLs1KXkbSP2fl6s8cZTkFZrrlxRXkjCgIcFN2xgjl+gWYnQ==', N'64SFO66KTJQIFBFXZKJSIE2TENREF3AX', N'2a033752-8e70-40da-8021-82a53059da7c', NULL, 0, 0, NULL, 1, 0);
INSERT INTO [dbo].[AspNetUsers] ([Id], [UserName], [NormalizedUserName], [Email], [NormalizedEmail], [EmailConfirmed], [PasswordHash], [SecurityStamp], [ConcurrencyStamp], [PhoneNumber], [PhoneNumberConfirmed], [TwoFactorEnabled], [LockoutEnd], [LockoutEnabled], [AccessFailedCount])
VALUES (N'14f006af-0a51-4aa7-bb3f-3c8fa1fc6e8d', N'samuel@hotmail.fr', N'SAMUEL@hotmail.fr', N'samuel@hotmail.fr', N'SAMUEL@hotmail.fr', 1, N'AQAAAAEAACcQAAAAEDWJTu+nLK/XGq4S6pdDsAwkXOlj0/kHDn15QW5bkXvjrD1uz4+6IOMlMoAJp2i3QA==', N'4HWPE4Y5TIX6YMJVY2N5GF57LJ57XQTN', N'860bc712-0b32-4670-a271-03bc5e0a09c8', NULL, 0, 0, NULL, 1, 0);
INSERT INTO [dbo].[AspNetUsers] ([Id], [UserName], [NormalizedUserName], [Email], [NormalizedEmail], [EmailConfirmed], [PasswordHash], [SecurityStamp], [ConcurrencyStamp], [PhoneNumber], [PhoneNumberConfirmed], [TwoFactorEnabled], [LockoutEnd], [LockoutEnabled], [AccessFailedCount])
VALUES (N'81fe7625-a952-452b-9043-9b201a5e8b44', N'tom@hotmail.fr', N'TOM@hotmail.fr', N'tom@hotmail.fr', N'TOM@hotmail.fr', 1, N'AQAAAAEAACcQAAAAEJXFszJa80MBmGZ47KLJKZqCv1RZqaGC+lCQYlAJaZUwlALOLV3kEuN2yICunrmvQg==', N'GQCVDT22ZEYVXET3XNN6WVKXG5FXNFNM', N'fcaf9f90-993c-437f-af43-651c48fb317a', NULL, 0, 0, NULL, 1, 0);
INSERT INTO [dbo].[AspNetUsers] ([Id], [UserName], [NormalizedUserName], [Email], [NormalizedEmail], [EmailConfirmed], [PasswordHash], [SecurityStamp], [ConcurrencyStamp], [PhoneNumber], [PhoneNumberConfirmed], [TwoFactorEnabled], [LockoutEnd], [LockoutEnabled], [AccessFailedCount])
VALUES (N'948cfa5e-df31-41ed-a14d-69785c3934bd', N'felix@hotmail.fr', N'FELIX@hotmail.fr', N'felix@hotmail.fr', N'FELIX@hotmail.fr', 1, N'AQAAAAEAACcQAAAAEEihf/iK431W8tiyVvq0iYjAbnAS/k8DVhjnrOeEabzpdZZSgzoOM9zC59953mPcXA==', N'F4PKWJTC4VA7IG5Q76BCCJQ5YU42WDLH', N'49cd59a5-3024-42cf-88f9-e821aa6604f7', NULL, 0, 0, NULL, 1, 0);
AspNetUserRoles
:
INSERT INTO [dbo].[AspNetUserRoles] ([UserId], [RoleId]) VALUES (N'09917878-d799-44db-86fe-1136e15f7c63', N'3');
INSERT INTO [dbo].[AspNetUserRoles] ([UserId], [RoleId]) VALUES (N'14f006af-0a51-4aa7-bb3f-3c8fa1fc6e8d', N'2');
INSERT INTO [dbo].[AspNetUserRoles] ([UserId], [RoleId]) VALUES (N'81fe7625-a952-452b-9043-9b201a5e8b44', N'1');
INSERT INTO [dbo].[AspNetUserRoles] ([UserId], [RoleId]) VALUES (N'948cfa5e-df31-41ed-a14d-69785c3934bd', N'3');
Ainsi Tom est l’administrateur du système, Samuel en est le bibliothécaire et Félix, Jade sont deux membres du système. Tous ces utilisateurs ont le même mot de passe Pa$$w0rd
.
LivreStatus
:
Mettez en place l’authentification et l’autorisation de telle sorte que les règles suivantes soient respectées :
home
et privacy
.Bibliothèque
.Bibliothèque
Modifier le comportement de la fonctionnalité Register
de telle sorte que tout utilisateur qui crée son compte à partir du site :
Une proposition de solution pour ce TP est placée dans les éléments en téléchargement liés à ce module.