Управление базой данных на основе ролей в SQL на основе C # и ASP.Net - PullRequest
3 голосов
/ 07 февраля 2011

Мне нужен контроль аутентификации / входа ASP.net и C #, который ссылается на базу данных сервера SQL, содержащую две таблицы: пользователи и роли.Когда аутентификация прошла успешно, я хочу, чтобы пользователь был перенаправлен на определенную страницу веб-сайта, определяемую его ролью, хранящейся в базе данных.

Например, пользователь с ролью "Системный администратор« будет направлено на защищенную домашнюю страницу в папке системного администратора на сайте, где в качестве роли « Системный пользователь » будет перенаправлен на соответствующую домашнюю страницу в защищенной папке пользователя системы.

Мне удалось найти что-то в библиотеке MSDN, но это перенаправляет все успешные входы в систему по умолчанию "default.aspx".

Есть ли способ:

  1. Как изменить это в соответствии с моими конкретными требованиями?
  2. Ресурс, который я еще не нашел, который мог бы дать некоторые подсказки о том, как реализовать это?

Ответы [ 2 ]

1 голос
/ 07 февраля 2011

Вы можете легко добраться туда с помощью встроенных SqlMembershipProvider и SqlRoleProvider, представленных в ASP.NET начиная с версии 2.0.

Настоящая проблема - определить, в какой «роли» должен быть пользователь, когда у него есть кратные значения.

0 голосов
/ 07 февраля 2011

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

код позади успешного входа в систему default.aspx.

if(Context.User.IsInRole("System Admin")){
    //redirect to page.
}
...