Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 10
1

Как сделать, чтобы пункт в asp:menu был виден только админу

09.06.2012, 17:30. Показов 2204. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В asp:menu у меня есть пункт "Администрирование" и в нем при наведении мыши появляются еще несколько дочерних пунктов. Но эта админка видна всем пользователям, а мне надо, чтобы только пользователи с ролью "Админ" могли видеть эти ссылки на страницы.

Искал в интернете как это сделать и не нашел подробного, пошагового ответа. Кто знает как это сделать? Объясните подробно, пожалуйста или дайте ссылку, где это пошагово описано.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2012, 17:30
Ответы с готовыми решениями:

Как сделать так, чтобы контрол был виден, когда он внутри ListView?
вообщем у меня есть представление выглядит оно так <asp:ListView ID="lwList" runat="server">...

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

Как сделать, чтобы внешний IP адрес был виден извне?
помогите с настройками а конкретно. как сделать что бы внешний IP адрес был виден из вне.

статический IP как сделать чтобы мой йп был виден в нете
Всем привет, у мну оптоволкно, статический IP как сделать чтобы мой йп был виден в нете, на сайте...

3
HF
1195 / 785 / 187
Регистрация: 09.09.2011
Сообщений: 2,399
Записей в блоге: 2
09.06.2012, 20:39 2
Нигде нет, потому что это придумывается разработчиком самостоятельно, под свои нужды. Вы знаете возможности контрола, вы знаете что вам нужно - применяете.

У меня:
- делаете Value на каждый MenuItem, который ведёт на страницу
- загружаете/имеете коллекцию для каждого пользователя/группы - Имя/флаг (например UserCreatePage, 1)
- "Пробегаете" циклом (foreach) по каждому MenuItem в контроле Menu и проверяете - имеет этот пользователь доступ до данной страницы или нет 0 или 1. Если 0 - делаете этому MenuItem Enable = false, Visible = false

И не забываете внутри каждой страницы делать подобную проверку на разрешение загружать данный контент.
0
2756 / 2059 / 384
Регистрация: 22.07.2011
Сообщений: 7,781
09.06.2012, 21:03 3
Если юзаешь стандартную компоненту меню , то ее можно привязать к карте сайта web.sitemap через SiteMapProvider-а, там уже можно указать какие узлы для какой роли доступны, тогда меню будет отображать только доступные для текущего юзера узлы.
http://msdn.microsoft.com/ru-ru/library/e468hxky
1
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 10
10.06.2012, 01:47  [ТС] 4
Спасибо всем! Проблему эту решил. Вначале создал карту сайта (с которой возился 1-2 часа), потом вставил вот этот код с сайта msdn в файл web.config в элемент siteMap:

XML
1
2
3
4
5
6
7
8
9
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
  <providers>
    <add name="XmlSiteMapProvider"
      description="Default SiteMap provider."
      type="System.Web.XmlSiteMapProvider"
      siteMapFile="Web.sitemap"
      securityTrimmingEnabled="true" />
  </providers>
</siteMap>
ну а потом привязал asp:menu к источнику данных к карте сайта. Да, и в карте сайта к нужным страницам приписал роли: roles="Admin" и roles="*"
0
10.06.2012, 01:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2012, 01:47
Помогаю со студенческими работами здесь

Как сделать, чтобы комп был виден в сети без пароля?
Есть такой вопрос, господа форумчане, возможно ламерский... на одном из компов в сети...

Нужно чтобы тип был виден только в пределах сборки
Нужно чтобы тип был виден только в пределах сборки. Соответственно, пишу internal class A {}...

Как сделать, чтобы при редактировании появлялся тот пункт контекстного меню, который был до этого?
Приветствую всех! Есть форма: Как сделать, чтобы при нажатии на ссылку &quot;редактировать&quot; появлся...

можно ли сделать, чтоб код был виден для компьютеров только?
можно ли сделать, чтоб код был виден для компьютеров только?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru