阻止用户在DNN上查看其他配置文件

时间:2014-06-11 07:53:10

标签: dotnetnuke dotnetnuke-7

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

如果我登录任何用户而不是将此网址粘贴到浏览器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,但问题是编辑配置文件网址与此类似,这将阻止用户编辑配置文件,这是不可接受的:)

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

2 个答案:

答案 0 :(得分:0)

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

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

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

如果你想要显示一条消息,例如"拒绝访问"你可以使用:

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

答案 1 :(得分:0)

将配置文件属性设置为不可公开查看会更简单。

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