Не обрабатываются параметры контроллера

Дата: 8.07.2010
Категории: MVC Visual Studio (C#)

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

[Authorize(Roles="RoleName")]
public class HomeController : Controller
{
...
}

Но после развертывания на IIS сервер, он пропускал и выполнял метод контроллера и для анонимных пользователей (что приводило к ошибке). А по логике разрабатываемого приложения такого быть не должно.

Конечно же можно было в web.config добавить

<authorization>
   <deny verbs="GET" users="?" />
   <deny verbs="POST" users="?" />
</authorization>

Тут «?» — анонимный пользователь. Но это не было выходом, так как запрещался доступ и к CSS, и к графике.

Я очень долго и мучительно искал выход из этой ситуации. Я отключал в настройках IIS анонимную проверку пользователей, но происходил редерикт на страницу входа, но к этой странице доступ был запрещен (по всей видимости из-за того что пользователь анонимный).

401

Решение проблемы

Решение проблемы оказалось настолько простым, что я об этом даже и не думал. Незнаю зачем я сделал роли на РУССКОМ языке, но в этом и была вся проблема. Создав роли на латинице все сразу встало на свои места и заработало.

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

Коментарии отсутствуют