Dotnetnuke按角色使用模块

时间:2013-05-14 05:25:38

标签: dotnetnuke

我想为每个门户网站查看特定模块的查看次数,即数字 基于角色的模块的视图。

我们可以使用SQL Query生成它吗。

此致

1 个答案:

答案 0 :(得分:2)

要首先查找用法,您必须拥有站点日志。其次,每个模块没有精确的记录。因为一个Tab可能有多个模块。但是我们可以想象如果查看页面 - 查看该页面上的所有模块。我认为以下查询将按模块计算

    SELECT  R.PortalID,
        TM.ModuleID,
        R.RoleName,
        COUNT(1) TotalViews
FROM    Roles R WITH ( NOLOCK )
        INNER JOIN dbo.UserRoles UR WITH ( NOLOCK ) ON R.RoleID = UR.RoleID
        INNER JOIN dbo.SiteLog sl WITH ( NOLOCK ) ON sl.UserId = ur.UserID
        INNER JOIN dbo.TabModules tm WITH ( NOLOCK ) ON tm.TabID = sl.TabId
GROUP BY R.PortalID,
        TM.ModuleID,
        R.RoleName

但是结果不会那么有用,因为一个用户可能属于多个角色。其次我忽略了与ModulePermissions的连接,因为大多数模块都使用继承视图权限。