0

ASP.NET 4.0 と C# は初めてです。web.sitemap を使用してログインしたユーザーに基づいてメニュー項目を表示/非表示にしたい場合は、ロールを使用して web.config に設定する必要があります。私はその役割を得ることができますか?

4

4 に答える 4

2
if (User.IsInRole("rolename")) {
  // what you wan't to do.
}
于 2012-09-11T03:59:37.313 に答える
0

ASP.NETを初めて使用する場合は、ユーザーと役割について学ぶ必要があります。「ログイン」などの標準要素でMembershipAPIを使用してみてください。その後、カスタムデータ構造を使用して独自のユーザーとロールプロバイダーを作成する必要があります。次に、@RandolfRFステートメントを使用します。

于 2012-09-11T04:04:37.003 に答える
0

ロールを保存するには、IPrincipalを使用する必要があります。

GenericIdentity userIdentity = new GenericIdentity((FormsIdentity)HttpContext.Current.User.Identity.Name);

string[] roles = { "rolename1", "rolename2", "rolename3" };
GenericPrincipal userPrincipal = new GenericPrincipal(userIdentity, roles);
Context.User = userPrincipal;

次に、ユーザーの役割を確認できます

if (User.IsInRole("rolename1")) {
  // what you wan't to do.
}
于 2012-09-11T04:58:05.550 に答える
0

私の理解が正しければ、asp.net Web アプリケーション プロジェクトを開いていて、ユーザーを作成してロールを割り当てる方法を知りたいとおっしゃっています。

現在、rolemanager とメンバーシップ プロバイダーの既定のプロバイダーを使用するように web.config を構成している場合、asp.net はすべてのトリッキーな処理を処理します。あなたがしなければならない唯一のことは、メニューバーに行き、「Project -> ASP.NET Configuration」を選択することです。これにより、ユーザーとロールを作成して割り当てるための GUI が表示されます。それはかなり自明なツールでなければなりません。これは、web.config の使用要件も満たしている必要があります。

ここから上で提案したように、ユーザーがログインしている場合は、次のようなことができます。

if (User.IsInRole("rolename")) { // やりたくないこと。}

別の方法として (そしてあなたにとって最良の方法です)、ツールボックスで logInView コントロールを使用してみてください (そう呼ばれていると思います)。

于 2012-09-11T05:14:48.523 に答える