Запретить пользователям видеть другие профили на DNN

Я использую DNN 7.1.2, и я хочу запретить пользователям переходить по другим профилям и видеть их имена пользователей - сделать профили приватными (я уже отключил всю информацию в настройках профиля).

Если я вхожу в систему от любого пользователя и затем вставляю этот URL в браузер http://example.com/ActivityFeed/tabid/58/UserID/93/language/en-US/Default.aspx, я вижу имя пользователя этого парня и если я увеличиваю UserID, я могу видеть следующих пользователей.

Мое первоначальное решение было переписать в IIS для URL: ActivityFeed/tabid/58/UserID/*/language/en-US/Default.aspx, но проблема в том, что URL профиля редактирования похож на это, и это не позволит пользователям редактировать профили, что не приемлемо:)

Кто-нибудь знает решение или как это можно сделать с помощью кода?

2 ответа

Решение

Я решил это с помощью кода.

В файл DesktopModules\Admin\ViewProfile\ViewProfile.ascx.cs я добавил следующие строки:

if(!IsUser)
{
    Response.Redirect(GetRedirectUrl(), true); // Redirect to homepage
    return;
}                                                                             

Если вы хотите показать сообщение типа "Отказано в доступе", вы можете использовать:

Response.Redirect(Globals.NavigateURL("Access Denied"), true);

Мне было бы намного проще установить свойства профиля, чтобы они не были доступны для публичного просмотра.

И ваш метод будет перезаписан при обновлении.

Другие вопросы по тегам