2010-07-22 42 views
0

我对dotnetnuke比较新,并且试图设置一个简单的网站,该网站将拥有多个用户组以及他们自己的一组文件,然后可以访问所有文件的另一个用户。dotnetnuke中的安全文件下载

我目前正在使用“文档”模块执行此操作,并隐藏除所有用户和特定公司用户以外的所有模块。这工作正常,但安全似乎只是默默无闻的安全。

如果我以用户A身份登录并访问文件A并复制其URL。然后我注销并以无法看到该文件的用户B登录。如果我然后把文件的URL到浏览器中,它似乎下载罚款。

有人可以告诉我,如果我多搞错了什么或者是否没有实际的基于用户的文件下载安全性?我尝试去实际的文件管理器,并使目录显式不可见的用户B(他们也是安全的目录),但仍然存在。我是否在文件级丢失了权限选项,或者安全性是否仅仅是为了防止您找到正确的文件链接?我承认这个链接不是猜测的(以URL或做傻事一样,没有顺序IDS),但我仍与安全工作像这样有点不舒服......

回答

0

看来我做错了什么。我引用了不具有任何权限的文件的其他版本。看起来我也不需要拥有多个文档模块,因为如果一个文件没有读取权限,它只会隐藏在列表中。

因此,总结DNN文档模块做基于角色的安全性,以防止未经授权的用户下载文件,并在文档视图中看到它。

1

DNN FileManager Module

喜Chris,

请按照上面的链接检查FileManager模块。您当前的FileManager模块不允许访问每个用户角色是正确的。你可能会检查Snowcovered可能的替代品吗?

+0

感谢您的确认。将检查出积雪,但希望内置的一个做了我想要withotu不得不评估第三方模块。 :) – Chris 2010-07-23 08:40:13

0

文档模块为LinkClick.aspx路由到ASP.NET的URL提供安全性。

如果实际文件驻留在站点的根文件夹下的文件系统中,那么这些文件将由IIS提供并保护,这些文件将被直接链接到。 为了防止未经授权访问直接URL,您可以禁用匿名身份验证,并设置基本身份验证(例如使用NTFS权限)。

如果不想触摸IIS并管理Windows帐户,则无法将文件直接存储在任何公用的IIS文件夹下。 ASP.NET应用程序级别的安全性通过使用文件加密或将文件存储在公共IIS文件夹外部(如数据库中)来实现。 DNN文件管理器提供了以下两个选项:文件系统中的安全文件夹和数据库中的安全文件夹。

还有第三方模块来管理文件安全和共享,如NukeTransfer