Как мне пройти авторизацию в MVC 2?
Я хочу использовать группы / роли AD, а не заданные по умолчанию. Кажется, это «AspNetSqlMembershipProvider».
В любом случае я положил:
[Authorize(Users = "username")]
public ActionResult About()
{
ViewData["Welcome"] = "Welcome About";
return View();
}
А затем загрузка страницы дает мне: Имя соединения 'ApplicationServices' не найдено в
конфигурация приложения или строка подключения пуста.
Line 34: <providers>
Line 35: <clear />
Line 36: <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
Line 37: </providers>
Line 38: </membership>
Я прочитал этот стекопоток , но после создания пользовательского класса AuthorizationAttribute
, расширяющего ActionFilterAttribute
ContextCache, IoC и ряд других вещей, решить не удалось, и не совсем уверен, куда идти дальше. Я также прочитал этот стекопоток , и он предлагает по-другому, начать путаться.
Как мне использовать группы AD вместо AspNetSqlMembershipProvider
в приложении MVC?
Бонусный вопрос: скажем, у меня есть кнопка "Изменить" на странице. Могу ли я добавить логику, чтобы решить, следует ли отображать эту кнопку на основе авторизации?
Спасибо за вашу помощь.
Редактировать: дополнительная информация.
Я не собираюсь блокировать или разрешать ВСЕ доступ к этому сайту.
Я намерен иметь 3 основных группы пользователей, различающих уровень доступа, то есть Super Admin, Admin,
Базовый доступ.
Не будет формы входа в систему, когда пользователь заходит на сайт, мы проверим, к какой группе он относится, а затем страница отобразится на основе этого.
Так, например, пользователь «bob» в группе «Базовый доступ» попадет на страницу и кнопки / действия, такие как «Редактировать», «Удалить», будут отключены, поэтому в основном это группа только для чтения. Но у пользователя 'jim' в группе 'Super Admin' есть все доступные ему действия / кнопки. Как мне этого добиться?