首页 文章

如何识别Dotnetnuke中当前登录的用户?

提问于
浏览
2

我有一个非常简单的SQL查询,它从我的DNN数据库中的表中检索一些用户信息 . 它通过DNN 6.0标准的“报告”模块在“网格视图”中显示信息

我的问题不在于查询,而在于查看 . 我需要设置一个过滤器/参数(?),它只显示正在查看记录的当前用户的记录 .

现在我不确定这是否可以在SQL中完成,或者我是否必须自己编写自定义模块,或者它是否只是我必须添加到皮肤/页面的一些自定义代码 . 在做了研究后,我听到有些人也在谈论DNN核心API,但我找不到任何体面的文档 . (我之前从未使用任何类型的API)

我很确定这个解决方案非常简单,只是因为我无法从我的研究中得到一个直接的答案,这让我变得越来越困惑 .

与往常一样,非常感谢任何帮助,输入,文章/教程或在正确的方向轻推 .

谢谢

编辑

为了将来正在寻找这个的人,这里是我的SQL查询在添加参数值后的样子 . 我把它剥离下来给你看基本的:

SELECT dbo.Users.UserID
FROM dbo.Users
WHERE dbo.Users.UserID = @UserID

将此信息放入我的报告查询中仅生成当前登录用户的记录 . 非常简单!

1 回答

  • 4

    DNN报告模块支持令牌 . 我在前一段时间写了这篇博文:DNN Reports Module显示了使用URL参数替换SQL中的一些数据的示例 . 我不记得它是否有SQL注入保护 .

    在您的SQL中,您可以使用@UserID并将其替换为登录用户 - Userid .

    您还可以使用:@PortalID,@ TABID

相关问题