0

1 人のユーザーを除くすべてのユーザーがアクセスできるようにアクションを保護したい場合、どうすればよいですか?

ユーザーが製品を持っているとしましょう。彼らが EditProduct アクションに移動したときに、他のユーザーがアクセスできないようにするにはどうすればよいですか? 以前は、常にUser.Idenity.Namedthat を使用してユーザー名と比較していました。usernameただし、代わりに誰かがログインするとUserName、同じユーザーであってもケースが壊れます。

.ToUpper()すべてのチェックで or のようなものを使用することは、非常に薄っぺらで非効率的です。

4

2 に答える 2

1

次のように、アクションの上に Authorize 属性を配置できます。

[Authorize(Users = "username")]

大文字と小文字が区別されるかどうかは完全にはわかりませんが、これがアクションとコントローラーを保護するための最良の方法です。さらに、ロールでも同じことができます。

[Authorize(Roles = "Administrator")]
于 2012-05-07T18:46:49.743 に答える
1

String には Equals のプロパティがあります。

User.Identity.Name.Equals("OtherName",StringComparison.CurrentCultureIgnoreCase)
于 2012-05-07T18:47:29.213 に答える