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

时间:2011-09-26 23:10:00

标签: asp.net sql-server-2008 dotnetnuke

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

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

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

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

一如既往,我们非常感谢任何帮助,输入,文章/教程或正确方向的推动。

谢谢

* 修改 *

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

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

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

1 个答案:

答案 0 :(得分:4)

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

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

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