У меня возникла проблема:Правила множественного доступа к страницам в ASP.NET
У меня есть проект с успешной логикой входа. Я использовал систему входа в систему, а затем написал код, чтобы проверить, соответствует ли пользователь и пароль из Login Control той, что находится в БД.
На сопрягая пары, это происходит:
if (authenticated)
{
FormsAuthentication.RedirectFromLoginPage(LoginControl.UserName, LoginControl.RememberMeSet);
}
и после входа в я могу получить доступ к/попадаю к Members.aspx в отделенной папку и с
<authorization>
<deny users="?"/>
</authorization>
в web.config I запретить пользователям доступ к этой папке.
Но мне нужно отделить папку членов из папки администрирования.
У меня есть дополнительная колонка в таблице «Пользователи» в БД, которая сообщает мне, является ли пользователь администратором или нет.
Как я могу предоставить администраторам дополнительные права или ограничить доступ обычных пользователей в доступе к папке администрирования?
Удивительный, надеялся на что-то подобное. Как установить роль? – SubjectX
Просто имейте в виду, что я не использую WSAT (http://www.codeproject.com/Articles/342061/Understanding-ASP-NET-Roles-and-Membership-A-Begin). – SubjectX
Это будет получить немного сложнее. Вам нужно будет проверить, является ли пользователь администратором загрузки страницы. Если пользователь не является администратором, вам необходимо перенаправить их на «Не авторизированную страницу». Насколько я знаю, я не думаю, что вы можете использовать «Разрешить роли» в webconfig. Если вы используете подход sql, вам придется изменить «deny users =» * «», чтобы запретить пользователям = «?». В основном вы разрешаете каждому пользователю доступ ко всей странице, но используйте ваш SQL для проверки, являются ли они администратором или нет. Если нет, перенаправьте их. – Humpy