Как фильтровать узлы элементов управления TreeView и Menu с источниками данных карты сайта на основе разрешений пользователя? - PullRequest
1 голос
/ 29 августа 2008

Я использую ASP.NET Login Controls и Проверка подлинности с помощью форм для членства / учетных данных для веб-приложения ASP.NET. И я использую карту сайта для навигации по сайту.

У меня есть элементы управления перемещением ASP.NET TreeView и Menu, заполненные с использованием SiteMapDataSource Но закрытые только для администратора страницы видны пользователям без прав администратора.


Кевин Панг писал:

Я не уверен, как этот вопрос любой отличается от вашего другой вопрос & hellip;

Другой вопрос касается назначения и поддержки разрешений.

Этот вопрос касается только представления навигации. В частности, элементы управления TreeView и Menu с источниками данных карты сайта.

<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" />
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="False" />

Николай писал (а):

добавить роль = "SomeRole" в карте сайта

Это решает только проблему с дисплеем? Или применяются такие разрешения для страниц?

Ответы [ 3 ]

1 голос
/ 29 августа 2008

Я не уверен, чем этот вопрос отличается от вашего другого вопроса , но я все равно постараюсь ответить на него.

Если вы хотите узнать, как реализовать аутентификацию на основе ролей, обратитесь к 4GuysFromRolla .

1 голос
/ 29 августа 2008

securityTrimmingEnabled = "true" работает для внутренних страниц, у которых есть файл конфигурации, ограничивающий разрешения, вы также можете добавить role = "SomeRole" в карту сайта, чтобы переориентировать механизм отображения, что полезно, если у вас есть пункты меню для внешних сайтов.

1 голос
/ 29 августа 2008

Мне пришлось установить securityTrimmingEnabled в значение true в моем файле web.config.

<?xml version="1.0"?>
<configuration>
    ...
    <system.web>
        ...
        <siteMap defaultProvider="default">
            <providers>
                <clear/>
                <add name="default"
                    type="System.Web.XmlSiteMapProvider"
                    siteMapFile="web.sitemap"
                    securityTrimmingEnabled="true"/>
            </providers>
        </siteMap>
        ...
    </system.web>
    ...
</configuration>
...