1

私はサイトを開発しており、3 つの基本的なユーザー ロールを持っています。役割は「管理者」、「管理者」、「ユーザー」です。特定のページからの基本ユーザーをブロックしましたが、管理者とマネージャーが他のページにアクセスできるようにしました。ユーザーを削除するための別のページを作成しましたが、「マネージャー」の役割の誰かが「管理者」の役割の誰かを削除できるようにしたくありません。「ユーザー」ロールはこのページにアクセスできないので、その心配はありません。すべてのユーザーを表示するドロップダウンリストと、選択したユーザーを削除するボタンがあり、機能しています。「マネージャー」ロールが「管理者」ロールから誰かを削除できないようにするセキュリティを追加したいと思います。

onClick イベントのこれまでのコードは次のとおりです。

string adminuser;
usertodelete = usersddl.SelectedItem.ToString();
if (Roles.GetRolesForUser(usertodelete) = "admin")
   adminuser = "admin";

if (Roles.IsUserInRole("admin") && User.IsInRole("manager"))
    statuslbl.Text = "You do not have sufficient privileges to remove this user.    Only Administrator's can remove administrators from the system.";

else
{
    System.Web.Security.Membership.DeleteUser(usertodelete);
    Response.Redirect("~/Account/DeleteAccount.aspx");
}

この時点で、特定のユーザーを見つけて割り当て、その役割を確認する if ステートメントが間違っていることはわかっています。

4

1 に答える 1

1

「マネージャー」ロールが「管理者」ロールから誰かを削除できないようにするセキュリティを追加したいと思います。

if (Roles.GetRolesForUser(userToDelete).Contains("admin") && !User.IsInRole("admin"))
{   // only allow admins to remove other admins.
   statuslbl.Text = "You do not have sufficient privileges to remove this user.    Only Administrator's can remove administrators from the system."; 
} else {
}
于 2012-08-09T13:57:52.757 に答える