0

Клиенты (клиенты) веб-приложения ASP.NET являются компаниями, и каждая компания может иметь много пользователей, имеющих доступ к сайту.Аутентификация форм с использованием имени пользователя и пароля

Так, например, CompanyA подписывается на сайт, чтобы потреблять услуги сайта. Сразу создается суперпользователь этой компании. Затем этот суперпользователь имеет разрешение на создание большего количества пользователей CompanyA, имеющих доступ к сайту.

Так, в общем, каждый пользователь идентифицируется CompanyName и UserName.

Типичная аутентификация форм ASP.NET обеспечивает автоматическую регистрацию и регистрацию, но только с полями Username и Password.

ли каркас .NET предоставляет возможность включать CompanyName и CompanyPassword поля в Вход и регистрация управления?

Компания и первоначальный суперпользователь также могут быть зарегистрированы в системе администратором Сайта.

На самом деле то, что я хотел бы, чтобы включать в себя CompanyName поля в поставленном управлении .NET Входа и не только имя пользователя и пароль.

Есть ли способ .NET framework для этого, или мне нужно его настроить? В последнем случае это лучшая практика?

+0

Просто откройте элемент управления входами и добавьте новые поля вручную. И пользовательский код - дополнительная функциональность в функции входа. Я делал это успешно в ряде случаев. –

+0

Я уже предполагал, что пользовательское кодирование будет где-то там. Мой вопрос по-прежнему, поддерживается ли это картой каким-либо образом (даже с пользовательской обработкой событий)? Я имею в виду, что я использую выделенную базу данных сервера Sql для проверки подлинности форм, тот, который создается aspnet_reg (я думаю, что это exe). Есть ли способ включить больше полей в пользовательский интерфейс и логику приложения без изменения схемы или использования дополнительных таблиц или баз данных? –

ответ

3

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

+0

Мы еще не решили окончательную реализацию. Я также считаю, что имею только уникальное имя пользователя, и сопоставление каждого пользователя с одной компанией намного проще. Первоначальная мысль состояла в том, чтобы разрешить уникальные пары CompanyName/Username, что означает, что Имя пользователя не должно быть уникальным. Моя другая мысль заключалась в том, чтобы объединить компанию и имя пользователя в одно значение предсказуемым образом и использовать это значение для фактического имени пользователя, например, UserA of CompanyA может быть «UserA @ CompanyA». –

+0

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

1

Вы можете использовать любую существующую или планируемую схему аутентификации, которую вы хотите с помощью аутентификации ASP.Net Forms.

Посмотрите этот (чрезмерно упрощенный) example from MSDN, где вы можете даже жесткий код схемы аутентификации, если вы этого хотите - не, что вы должны, но это дает вам общее представление.

ASP.net Членство предоставляется Microsoft , если вы хотите использовать его (вам не обязательно). Он имеет все необходимые вам леса, если вы его используете (включая указанную вами базу данных), и используется для проверки подлинности форм на по умолчанию (не только).

Смежные вопросы