Развертывание ASP.net Core в Google Cloud AppEngine (Flex) с идентификацией Microsoft (аутентификация) и ролями - PullRequest
0 голосов
/ 04 июня 2018

Я бы хотел развернуть проект ASP.net Core в Google AppEngine (flex).Мое приложение использует Microsoft Identity / Authentication и имеет 2 разных типа ролей.При настройке проекта я выбрал аутентификацию с отдельными учетными записями пользователей и для «хранения учетных записей пользователей в приложении» - чтобы информация сохранялась на локальном сервере SQL.У меня есть 2 вопроса:

1) Можно ли хранить учетные записи пользователей на удаленном сервере SQL - в частности, в Google Cloud SQL?Если да, какой файл (ы) я должен редактировать, и каков правильный синтаксис?Я попытался настроить строку подключения в appsettings.json, но она не сработала (было указано, что при подключении к серверу SQL возникла проблема).

2) Если приложение развернуто как есть, что будетпроизойдет с локально сохраненными учетными записями пользователей и ролями?Будут ли они переведены в развернутый проект в Google Cloud AppEngine?

Я очень новичок в этом и ценю любую помощь, которую я могу получить!Спасибо!

Ответы [ 2 ]

0 голосов
/ 15 августа 2018

Чтобы ответить на мой первый вопрос:

Да, вы можете.Строка подключения идет в appsettings.json, например: "ConnectionStrings": {"AuthenticationString": "Server=tcp:SERVERNAME,PORTNUMBER;Initial Catalog=authentication;Persist Security Info=False;User ID=USERNAME;Password=PASSWORD;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"}

, и вы указываете ее имя в файле startup.cs в методе ConfigureServices, например: options.UseSqlServer(Configuration.GetConnectionString("AuthenticationString")));

Причина Iпродолжал получать ошибки, потому что я пытался сохранить его на удаленном сервере MySQL (я не знал, что Google Cloud SQL был MySQL / Postgre SQL, а также безнадежно не знал, что существует разница между MySQL и (MS) SQL Server).Метод при запуске, на который я ссылался UseSqlServer, явно предназначался для (MS) SQL Server, но у меня есть предположение, что есть аналогичный метод, если вы хотите вместо этого использовать сервер MySQL.

(И Григалдо на второй вопрос ответил выше)

0 голосов
/ 04 июня 2018

Что касается первого вопроса, я думаю, что есть некоторые детали, которые следует принять во внимание.

Облачный SQL, как думали, имел свою собственную встроенную систему аутентификации, поэтому я думаю, что интеграция этих двух систем предлагает вам возможность аутентификации на двух разных уровнях, в облаке и в вашем приложении.

Поэтому я думаю, что важно правильно настроить оба потока аутентификации, чтобы иметь функциональную систему.

Даже если это может быть не точный ресурс для приложения, которое вы используете, оно можетстоит обратить внимание на руководство в .NET для аутентификации пользователей в App Engine.И как связать App Engine flex с MySQL .Эти два шага имеют решающее значение для вашей внешней и внутренней аутентификации ядра приложения.

К вашему второму вопросу, к сожалению, процесс не такой автоматический.Как я писал выше, учетные данные будут только для «внутреннего уровня» вашего приложения, если вы хотите перенести их все на внешний уровень (проект GCP), развертывания будет недостаточно, вам придется добавить вручнуюих, или если ваша организация слишком велика, вам придется использовать автоматический способ сделать это.(то есть с API )

...