0

我正在使用 DNN 7.1.2,我想要做的是阻止用户在其他个人资料上导航并查看他们的用户名 - 将个人资料设为私有(我已经禁用了个人资料设置中的所有信息)。

如果我登录任何用户,然后将此 URL 粘贴到浏览器http://example.com/ActivityFeed/tabid/58/UserID/93/language/en-US/Default.aspx,我可以看到这个人的用户名,并且如果我增加用户 ID,我可以看到下一个用户。

我最初的解决方案是在 IIS 中重写 url:ActivityFeed/tabid/58/UserID/*/language/en-US/Default.aspx 但问题是编辑配置文件 url 与此类似,这将阻止用户编辑配置文件,这是不可接受的:)

有谁知道解决方案或如何用代码完成?

4

2 回答 2

0

我使用代码解决了这个问题。

在文件 DesktopModules\Admin\ViewProfile\ViewProfile.ascx.cs 我添加了以下几行:

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

如果要显示“拒绝访问”之类的消息,可以使用:

Response.Redirect(Globals.NavigateURL("Access Denied"), true);
于 2014-06-11T09:38:12.180 回答
0

将个人资料属性设置为不公开可见会简单得多。

而且,您的方法将被升级覆盖。

于 2014-06-11T15:17:39.637 回答