ASP.NET - возможно ли получить список / коллекцию всех страниц, которые пользователь имеет право просматривать? - PullRequest
0 голосов
/ 30 января 2010

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

Мне нужно получить список / коллекцию всех страниц, которые активному пользователю разрешено открывать. Возможно ли это в ASP.Net 3.5?

Я предполагаю, что ASP.Net где-то имеет внутреннюю коллекцию страниц вместе с их требуемыми ролями (как он должен где-то проверять, когда вы пытаетесь открыть страницу)?

Ответы [ 2 ]

1 голос
/ 30 января 2010

Я бы предложил изучить карту сайта (в ASP.Net, web.SiteMap). Затем вы можете использовать SiteMap в качестве источника данных (а также определять роли и т. Д. Для каждой страницы).

0 голосов
/ 30 января 2010

Вы предполагаете, что неправильно ... Нет внутреннего списка этих страниц, только файловая система. Доступ проверяется для каждого файла отдельно, когда ASP.NET пытается открыть страницу.

Чтобы сделать то, что вы ищете, вам придется самостоятельно его кодировать с помощью System.IO и получить настройки авторизации из web.config.

...