2

Wenn Sie mehrere Module auf einer Webseite entwickeln, die verschiedene Dinge anzeigen, z. B. Inhalt wie eine Biographie oder Bilder, die auf einer userId basieren, die durch die Abfragezeichenfolge geleitet wird.Einfache Frage zur Entwicklung des DotNetNuke-Moduls

Beim Laden der Seite sollten alle Module auf der Webseite unabhängig voneinander agieren und die Abfragezeichenfolge individuell betrachten und den Inhalt basierend auf der userId zurückgeben.

Und auf die gleiche Weise sollten die Module einzeln prüfen, ob der richtige Benutzer angemeldet ist, bevor sie den Inhalt ändern dürfen.

Ich habe ein oder zwei Module für eine Website erstellt, aber dies ist das erste Mal, dass ich eine DotNetNuke-Website entwickle und ich bin nur unsicher, ob dies der einzige Weg ist.

Antwort

2

Jedes Modul sollte unabhängig von den anderen funktionieren.

Außerdem denke ich nicht, dass Sie die Querystring betrachten sollten, um Ihre Benutzer-ID zu erhalten, weil das gefälscht werden kann. Betrachten Sie stattdessen die Basisklasse für Ihr Modul, um festzustellen, ob eine Eigenschaft die Benutzerinformationen enthält.

6

Ihr Benutzersteuerelement sollte bereits von DotNetNuke.Entities.Modules.PortalModuleBase erben. Wenn dies der Fall ist, können Sie die Eigenschaft this.UserInfo.UserID verwenden, um die Benutzer-ID abzurufen. Dies ist viel sicherer als die Abfragezeichenfolge zu betrachten. Denken Sie daran, dass der Benutzer möglicherweise nicht angemeldet ist, und in diesem Fall würde das oben genannte eine Nullreferenz verursachen - also stellen Sie sicher, zuerst auf Null zu testen.

Auch in einer etwas verwandten Notiz können Sie this.UserInfo.IsInRole("RoleName") verwenden, um zu testen, ob ein bestimmter Benutzer in einer bestimmten Rolle ist.

+0

Danke für die zusätzliche Hilfe – shad