Member 10476352 Ответов: 2

В ASP.NET как проверить URL-адрес для конкретного пользователя?


Образец:

http://localhost/admin/addstudent.aspx это для админа
http://localhost/student/attendclass.aspx это для студента.

Предположим, если студент вошел в систему, используя свои учетные данные, и он вводит URL-адрес администратора "http://localhost/admin/addstudent.aspx" вручную означает, как это проверить.

Что я уже пробовал:

Я искал в Интернете решение. Но я не мог найти

F-ES Sitecore

Мы не знаем, как вы реализуете аутентификацию, поэтому ответить невозможно.

2 Ответов

Рейтинг:
1

Vincent Maverick Durano

Есть много примеров, которые демонстрируют это в интернете. Просто погуглите этот термин "asp.net ролевая авторизация". Вот один пример, который я нашел: Ролевая авторизация (C#) | The ASP.NET сайт[^][^]

Как только роли пользователей будут реализованы, вы можете создать базовый класс, который выполняет проверку ролей, а затем сделать так, чтобы ваша страница унаследовала этот базовый класс. Быстрый пример для проверки-это что-то вроде этого:

if (!System.Web.Security.Roles.IsUserInRole(userName, "ADMIN"))
{
              Response.Redirect("~/UnAuthorizeAccess.aspx");
}  


Рейтинг:
0

Karthik_Mahalingam

Магазин роль пользователя в Session со страницы входа в систему или получить его из файлов cookie / вспомогательного метода и т. д.
в addstudent.aspx

public partial class addstudent : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                string role = Session["UserRole"].ToString(); // or get it from your helper method.
                if (role.ToLower() != "admin") // 
                {
                    Response.Redirect("UnAuthorisedAccess.aspx"); // Navigate to the error page.
                }
            }
        }
    }


Создайте страницу ошибок (UnAuthorisedAccess. aspx), чтобы показать UnAuthorisedAccess сообщение.


Member 10476352

Есть ли в любом случае, чтобы сделать это на главной странице обычно.

Afzaal Ahmad Zeeshan

Вместо главной страницы используйте тот же код в событии запуска приложения. Обработайте запрос там и покажите сообщение об ошибке.

Afzaal Ahmad Zeeshan

5ед.

Karthik_Mahalingam

Спасибо ААЗ