2

クエリ文字列を介して渡された userId に基づいて、略歴などのコンテンツや写真など、さまざまなものを表示する Web ページで複数のモジュールを開発している場合。

ページの読み込み時に、Web ページ上のすべてのモジュールが独立して動作し、クエリ文字列を個別に見て、userId に基づいてコンテンツを返す必要があります。

同様に、モジュールは、コンテンツの変更を許可する前に、正しいユーザーがログインしているかどうかを個別に確認する必要があります。

以前に Web サイト用に 1 つまたは 2 つのモジュールを作成したことがありますが、DotNetNuke Web サイトを開発するのはこれが初めてで、これが唯一の方法かどうかはわかりません。

4

2 に答える 2

6

ユーザー コントロールは、既に から継承されているはずDotNetNuke.Entities.Modules.PortalModuleBaseです。その場合、this.UserInfo.UserIDプロパティを使用してユーザーの ID を取得できます。これは、クエリ文字列を見るよりもはるかに安全です。ユーザーがログインしていない可能性があることに注意してください。その場合、上記では null 参照が発生します。最初に null をテストしてください。

また、多少関連するメモとしてthis.UserInfo.IsInRole("RoleName")、特定のユーザーが特定のロールに属しているかどうかをテストするために使用できます。

于 2009-08-10T13:56:20.870 に答える
2

各モジュールは、他のモジュールとは独立して動作する必要があります。

また、なりすましの可能性があるため、ユーザー ID を取得するためにクエリ文字列を調べる必要はないと思います。代わりに、モジュールの基本クラスを調べて、ユーザー情報を含むプロパティがあるかどうかを確認してください。

于 2009-08-09T16:02:40.283 に答える