我有一个DNN网站,我现在想要更改,以便用户必须登录才能查看任何内容。我可以去每个页面更改权限,但我正在寻找更快的方法 - 即使这意味着进入数据库。
答案 0 :(得分:3)
这将删除门户网站上所有页面的所有“未授权用户”权限:
DELETE
FROM TabPermission
WHERE RoleID = -3 -- Unauthorized Users
AND TabID IN (
SELECT TabID
FROM Tabs
WHERE PortalID = YOUR_PORTALID_HERE
)
然后用“注册用户”替换所有“所有用户”权限:
UPDATE TabPermission
SET RoleID = -2 -- Registered Users
WHERE RoleID = -1 -- All Users
AND TabID IN (
SELECT TabID
FROM Tabs
WHERE PortalID = YOUR_PORTALID_HERE
)
运行后,转到主机 - >主机设置和性能部分下的“清除缓存”。
您可以针对ModulePermission表运行类似的语句,但如果您锁定所有页面,则不需要它,因为如果他们无法查看任何页面,他们将无法查看任何模块。
如果其中任何一个破坏您的数据库,伤害您的宠物等,则不负责任。确保在运行脚本之前备份您的数据库!
答案 1 :(得分:2)
最快,非技术性的方法是转到门户网站上的父页面,更改权限以适合您,然后将这些权限复制到子页面。如果您有大量的父页面,请转到管理员>页面并将所有父页面分组到一个父页面下...更改父权限并复制到所有子页面,然后恢复页面层次结构。
答案 2 :(得分:0)
最快的方法是针对TabPermission表编写更新语句。您很可能会将所有-2或-1(取决于DNN版本)值更改为注册用户。
谨慎使用,备份数据库,然后在生产中进行测试之前对其进行测试。我不能强调这一点。
您还需要查看ModulePermissions表。
答案 3 :(得分:-1)
如果您愿意,您可以使用IIS授权执行此操作,但它不提供“注册”。
http://msdn.microsoft.com/en-us/library/aa292114%28VS.71%29.aspx