Где установить код для ограничения доступа пользователей без использования web.config - PullRequest
0 голосов
/ 11 июня 2018

У меня есть веб-сайт, на котором я хочу ограничить доступ к страницам, доступным для администратора.Я знаю, что мог бы что-то сделать в файле web.config, но это веб-сайт, который будет предоставлен кому-то другому для размещения, и я не хочу, чтобы кто-то еще мог устанавливать страницы, которые могут видеть администраторы..

Поэтому, когда пользователь с правами администратора пытается перейти на страницу, я не хочу, чтобы он видел, какое событие будет лучшим местом для добавления моего кода перенаправления, который перенесет его на страницу по умолчанию, которую я делаюхочу, чтобы они увидели, например.

Application_EndRequest()
Application_AuthenticateRequest()
Application_PreRequestHandlerExecute()

Мой проект vb.net.

Надеюсь, что кто-то может дать мне некоторое руководство.

1 Ответ

0 голосов
/ 11 июня 2018

У меня была похожая проблема, когда мне нужно было защитить клиентское приложение / веб-сайт на основе уровня доступа, т.е.sysadmin, admin, user и т. д. Использование web.config было когда-то решением, но, как и вам, мне нужно было предоставить / запретить доступ, не отказываясь от него в web.config.Я закончил тем, что использовал открытую константу на каждой странице, которая описывала минимальный уровень доступа для этой страницы, да, это было немного утомительно, но оно сделало именно то, что мне нужно.Код:

Public Const accesslevel As integer = 999 ' System Admin level, you always want to leave room between levels so if you need to add levels later it's easier to do so.
' In the page load event
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ' I have a user class where I store all the user information.  I store in in the session.
    If not MyUser.AccessLevel >= accesslevel Then
        Response.Redirect(Session(camefrom)) '"camefrom" is a Session variable and is set to the page the user came from
    End If
End Sub

Да, я понимаю, что это немного утомительно, и, возможно, существует несколько разных способов решения этой проблемы, но я использовал это и продолжаю использовать сегодня.ПРИМЕЧАНИЕ. На некоторых страницах я проверяю уровень доступа ДО того, как перейду на страницу, необходимую из-за состояния сеанса.Этот метод дает мне контроль над каждой страницей и предотвращает обход уровней доступа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...