我正在使用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,但问题是编辑配置文件网址与此类似,这将阻止用户编辑配置文件,这是不可接受的:)
有没有人知道解决方案或如何使用代码完成?
答案 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)
将配置文件属性设置为不可公开查看会更简单。
并且,您的方法将被升级覆盖。