Как я узнаю, что вы вошли на веб-страницу Sharepoint? - PullRequest
3 голосов
/ 19 декабря 2008

Мы используем Sharepoint в качестве CMS для наших веб-страниц на работе. Я знаю, как создавать элементы управления, которые могут быть видны только в том случае, если вы вошли в систему SharePoint с помощью:





</ Sharepoint: SPSecurityTrimmedControl>

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

Я не могу использовать методы проверки подлинности Windows .NET, такие как:

        if (!(HttpContext.Current.User == null) && HttpContext.Current.User.Identity.IsAuthenticated){}

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

Не могли бы вы предоставить код? Я знаю, что это должно быть что-то вроде проверки SPContext.Current.FormContext.

Ответы [ 3 ]

4 голосов
/ 19 декабря 2008

Как проходят аутентификацию пользователей? С проверкой подлинности форм или Windows / Active Directory?

Если активен каталог, то я думаю, что в этом случае вам может понадобиться получить ссылку на текущий SPWeb, а затем сделать web.CurrentUser.ID. Это может выйти пустым, когда вы анонимны. Если нет, попробуйте web.SiteUsers.GetByID (web.CurrentUser.ID) и посмотрите, что вы получите.

1 голос
/ 28 декабря 2008

DoesUserHavePermissions

Этот метод можно использовать в текущей сети, чтобы проверить, есть ли у текущего пользователя определенные разрешения.

Я предполагаю, что ваши аутентифицированные пользователи имеют некоторое разрешение на проверку того, что анонимная толпа запрещена.

0 голосов
/ 22 декабря 2008

Хотя я не проверял его, я полагаю, что свойство LoginName объекта SPUser будет пустым или сгенерирует исключение.

... конечно, никогда не безопасно предполагать что-либо, имея дело с SharePoint OM: (

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