web-dev-qa-db-fra.com

Visual Studio 2017: accédez à l'écran d'authentification des modifications sur une application Web Asp .Net Core déjà créée.

Et si je voulais ajouter les comptes d'utilisateur individuels à une application Web existante? Comment accéder à cet écran pour mettre à niveau mon projet sans avoir à le recréer?  enter image description here

8
Jeremiah Stillings

Vous avez donc créé votre première application Web principale asp.net et n'avez pas sélectionné l'authentification. Maintenant, vous réalisez que vous en avez besoin.

Voici la méthode manuelle pour «installer» l'authentification de comptes individuels

Chargez votre solution de projet existante. Cliquez sur les dépendances et cliquez sur gérer les paquets NuGet.

Cliquez sur le bouton BROWSE en haut à gauche.

 enter image description here

C'est ici que vous devrez ajouter manuellement les dépendances manquantes à votre projet.

La liste des paquets NuGet à ajouter est longue et vous devrez peut-être cocher Inclure PreRelease pour les voir tous.

Microsoft.AspNetCore.Authentication.Cookies
Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore
Microsoft.AspNetCore.Identity.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.SqlServer.Design
Microsoft.EntityFrameworkCore.Tools
Microsoft.Extensions.Configuration.UserSecrets
Microsoft.VisualStudio.Web.CodeGeneration.Design

Ensuite, nous allons ajouter les fichiers de contrôleur manquants.

Ajoutez ces trois fichiers à votre dossier Contrôleurs

AccountController.cs

ManageController.cs

HomeController.cs

Ils se trouvent ici

Ouvrez les trois fichiers et utilisez la fonctionnalité Rechercher et remplacer sous modifier pour trouver la connexion et tapez le nom de votre projet dans le bloc remplacer par. Assurez-vous que tous les documents ouverts sont sélectionnés et cliquez sur Remplacer tout .  enter image description here

Cela codera les fichiers dans votre projet.

Cette étape suivante consiste à ajouter les données manquantes.

Créez un dossier de données et un sous-dossier de données appelé Migrations  enter image description here

Ensuite, ajoutez ce fichier au dossier Data

ApplicationDbContext.cs

Maintenant, ajoutez ces trois fichiers dans le dossier Migrations

00000000000000_CreateIdentitySchema.cs

00000000000000_CreateIdentitySchema.Designer.cs

ApplicationDbContextModelSnapshot.cs

Tous ont trouvé ici

Fermez maintenant tous les fichiers que vous avez ouverts et sauvegardez-les.

Ouvrez les quatre fichiers que vous venez d'ajouter.

Utilisez la fonction Rechercher et remplacer sous modifier pour trouver la connexion et tapez le nom de votre projet dans le bloc remplacer par. Assurez-vous que tous les documents ouverts sont sélectionnés et cliquez sur Remplacer tout .  enter image description here

Cela codera les fichiers dans votre projet.

Notre prochaine étape consiste à créer tous les modèles manquants.

Il y en a beaucoup, nous allons donc utiliser Zip et vous allez les décompresser dans le répertoire de votre projet.

Models.Zip

Une fois que votre projet affiche le dossier des modèles, ouvrez tous les fichiers du répertoire des modèles et des sous-répertoires.

Utilisez la fonction Rechercher et remplacer sous modifier pour trouver la connexion et tapez le nom de votre projet dans le bloc remplacer par. Assurez-vous que tous les documents ouverts sont sélectionnés et cliquez sur Remplacer tout .  enter image description here

Cela codera les fichiers dans votre projet.

Notre prochaine étape consiste à ajouter les services manquants

Il y en a beaucoup, nous allons donc utiliser Zip et vous allez les décompresser dans le répertoire de votre projet.

Services.Zip

Une fois que votre projet affiche le dossier services, ouvrez tous les fichiers du répertoire services.

Utilisez la fonction Rechercher et remplacer sous modifier pour trouver la connexion et tapez le nom de votre projet dans le bloc remplacer par. Assurez-vous que tous les documents ouverts sont sélectionnés et cliquez sur Remplacer tout .  enter image description here

Cela codera les fichiers dans votre projet.

Ensuite, nous allons ajouter les fichiers de vue manquants.

Il y en a beaucoup, nous allons donc utiliser Zip et vous allez les décompresser dans le répertoire de votre projet.

Cela n'écrasera pas vos vues personnelles

Views.Zip

Une fois que votre projet affiche le dossier Views, ouvrez tous les fichiers du répertoire Views.

Utilisez la fonction Rechercher et remplacer sous modifier pour trouver la connexion et tapez le nom de votre projet dans le bloc remplacer par. Assurez-vous que tous les documents ouverts sont sélectionnés et cliquez sur Remplacer tout .  enter image description here

Cela codera les fichiers dans votre projet.

L'étape suivante consiste à écraser votre fichier Startup.cs avec les mises à jour.

Il s'agit d'une opération de remplacement. Si vous disposez d'un fichier startup.cs dépourvu de valeur par défaut, sauvegardez-le afin de pouvoir ajouter votre travail personnalisé au nouveau fichier.

Startup.cs

Une fois que votre projet affiche le dossier Views, ouvrez tous les fichiers du répertoire Views.

Utilisez la fonction Rechercher et remplacer sous modifier pour trouver la connexion et tapez le nom de votre projet dans le bloc remplacer par. Assurez-vous que tous les documents ouverts sont sélectionnés et cliquez sur Remplacer tout .  enter image description here

Cela codera les fichiers dans votre projet.

La dernière étape consiste maintenant à gérer la chaîne de connexion à la base de données SQL fastidieuse dans appsettings.json.

Remplacez votre fichier appsettings.json par celui-ci

appsettings.json

Une fois que votre projet affiche le nouveau fichier appsetting.json, ouvrez-le.

Utilisez la fonction Rechercher et remplacer sous modifier pour trouver la connexion et tapez le nom de votre projet dans le bloc remplacer par. Assurez-vous que tous les documents ouverts sont sélectionnés et cliquez sur Remplacer tout .  enter image description here

Cela codera le fichier dans votre projet.

Enregistrez tous les fichiers et construisez-le.

Dépannage:

If you updated any of your dependencies while in the NuGet Manager you will have to manually update your Core version by downloading the Current version HERE
If you have an orange triangle on any dependency under the NuGet packages, it just means you have to EXIT VS 17 and restart it.

J'ai rencontré ces deux problèmes, mais ils sont faciles à surmonter.

Cliquez sur votre bouton avec le bouton IIS et profitez de votre nouveau registre et des boutons de connexion de votre ancienne application .  enter image description here

2
Jeremiah Stillings

Ce que Alex a suggéré de fonctionner ……. J'ai écrit un article entier sur le blog pour savoir comment le faire, alors que je m'embrouillais dans ce chemin… __. VS 2017- Ajout de l'authentification: comptes d'utilisateurs individuels à un noyau ASP.Net existant Application Web

9
Jeremiah Stillings

La réponse acceptée peut fonctionner, mais il existe un moyen beaucoup plus simple ... (dans mon cas, je passe de l'authentification Windows à l'authentification anonyme).

  1. dans l'Explorateur de solutions, sélectionnez votre projet
  2. appuyez sur la touche F4 pour accéder aux propriétés du projet ( remarque: attention, ce n'est pas la même chose que cliquer avec le bouton droit de la souris sur le projet -> sélectionner Propriétés ... utiliser la touche F4)
  3. définir l'authentification Windows sur Désactivé
  4. définir l'authentification anonyme sur activé

  5. dans le fichier Web.config du projet, dans la section system.web, remplacez [authentication mode = "Windows"] par [authentication mode = "None"].
  6. dans Web.config, dans la section system.web, remplacez [deny users = "?"] par [allow users = "*"]


(désolé pour l'utilisation de crochets au lieu de balises réelles - les restrictions de publication HTML empêchées d'utiliser des balises)

2
jwdvorak

Pas besoin de recréer un projet, vous pouvez le changer dans les propriétés de votre projet:

 enter image description here

0
Lovy