У меня есть простая аутентификация на основе форм, где определены роли. Некоторые роли определены, как показано ниже в web.config.
<location path="/Employees">
<system.web>
<authorization>
<allow roles="ClientAdmin,Administrator,Employee"/>
<deny users="*"/>
</authorization>
</system.web>
Когда обычный пользователь пытается получить доступ к странице в папке «Сотрудники», он перенаправляется на страницу входа. Однако наша страница входа предназначена для того, чтобы, если пользователь уже вошел в систему, он будет перенаправлен обратно на запрошенную страницу. Поэтому, когда пользователь, не являющийся сотрудником, администратор или клиент, пытается получить доступ к странице внутри папки сотрудников, он перенаправляется на страницу /login.aspx?ReturnUrl=%Employee%2fdefault.aspx, а страница входа перенаправляется обратно на страницу Employees / default.aspx. и затем эта страница сотрудников снова перенаправляется на страницу входа (поскольку текущий пользователь не имеет достаточной роли), и это приводит к бесконечному циклу, и страница в конечном итоге умирает со слишком большим количеством перенаправлений.
Мой вопрос здесь: если у пользователя недостаточно доступных ролей, я бы хотел перенаправить его на определенную страницу, сказав, что у него нет прав доступа к этой странице, и оттуда он может выйти из системы, чтобы повторно -логинитесь с другими учетными данными или перейдите куда-нибудь еще.
Возможно ли это с помощью аутентификации по форме?
Спасибо