如果您正在网页上开发多个模块,显示不同的内容,例如基于通过查询字符串传递的 userId 的生物或图片等内容。
在页面加载时,网页上的所有模块应该独立并单独查看查询字符串并根据 userId 返回内容。
并且在允许修改内容之前,模块应该以同样的方式单独检查是否正确的用户登录。
我之前为网站制作了一两个模块,但这是我第一次开发 DotNetNuke 网站,我只是不确定这是否是唯一的方法。
如果您正在网页上开发多个模块,显示不同的内容,例如基于通过查询字符串传递的 userId 的生物或图片等内容。
在页面加载时,网页上的所有模块应该独立并单独查看查询字符串并根据 userId 返回内容。
并且在允许修改内容之前,模块应该以同样的方式单独检查是否正确的用户登录。
我之前为网站制作了一两个模块,但这是我第一次开发 DotNetNuke 网站,我只是不确定这是否是唯一的方法。
您的用户控件应该已经继承自DotNetNuke.Entities.Modules.PortalModuleBase
. 如果是这样,您可以使用该this.UserInfo.UserID
属性来检索用户的 ID。这比查看查询字符串要安全得多。请记住,用户可能没有登录,在这种情况下,上述情况会导致 null 引用 - 因此请务必先测试 null。
此外,在一些相关的注释中,您可以使用this.UserInfo.IsInRole("RoleName")
来测试以查看特定用户是否处于给定角色。
每个模块都应该独立于其他模块工作。
另外,我认为您不应该查看查询字符串来获取您的用户 ID,因为这可能会被欺骗。相反,请查看模块的基类,看看是否有包含用户信息的属性。