2015-03-12 2 views
0

У меня есть классический веб-сайт asp, работающий внутри приложения MVC 4. Поэтому для доступа к областям классического веб-сайта asp пользователь должен войти в систему, используя классическую страницу входа asp. На этом этапе они аутентифицируются внутри системы. Их userid, security level and authentication хранятся в классических переменных сеанса asp.Пользовательский атрибут авторизации с использованием переменных сеанса

Затем я получаю информацию из сеанса, помещенного в сеанс ASP.Net, используя те же имена переменных.

Я пытаюсь создать настраиваемый атрибут Authorize для использования переменных сеанса .NET authentication, userid and securitylevel, а затем проверить таблицу базы данных, чтобы проверить, имеет ли пользователь права доступа к разделу сайта. Я хочу использовать этот пользовательский атрибут вместо [Authorize], чтобы блокировать мои контроллеры и представления по мере необходимости.

Я не уверен, с чего начать, поскольку я новичок в ASP.NET MVC и C#.

+0

Выполняет ли ASP.NET и ASP classic в том же домене? Если это так, вы можете просто создать cookie сеанса в ASP.NET после того, как они прошли аутентификацию. – Dijkgraaf

ответ

0

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

Смежные вопросы