私はユーザー名を定義していましたが、それを役割に追加しました。ASP.NET Membershipユーザーを取得する
は今、私は、ユーザーが有効かどうかを確認するには、このコードを使用します。その後
if (Membership.ValidateUser(txtUsername.Text, txtPassword.Text)) {
FormsAuthentication.SetAuthCookie(txtUsername.Text, false);
if (Roles.GetRolesForUser(txtUsername.Text).Any(role => role == "Admin")) {
Page.Response.Redirect(ResolveUrl("~/Admin/Products.aspx"));
}
txtUsername.Text = "";
}
を、私は、ユーザーがロールにであるかどうかProducts.aspxページで確認したいです。私はこのコードを書いたが、それは私のローカルのWindowsのユーザ名を返します。私はそれがリターンがログオンしているユーザーすべきであると考えて
Context.User.Identity.Name
を。その後
私はこのコードをチェックします:
if (!Context.User.IsInRole("Admin"))
{
Response.Redirect(ResolveUrl("~/Default.aspx"));
}
私のコードが悪いのか?ユーザーが特定の役割を担っている場合は、どうすれば確認できますか?
ポストバック中にCookieを解析していない可能性があります。私があなたのためにいくつかのコードを引き出すことができるかどうかを見てみましょう。それは約12行です、そして、私はコードプロジェクトからその時をつかんでいました...今はそれを得るだろうが、iPadで読んでいます。 –
@リチャードBありがとうございます。可能であればコードを記入してください。 – Shahin