0

会社のイントラネットに ASP.NET アプリケーションがあります。そして、ファンキーなセキュリティ要件。

特定のユーザー名が特定の役割に属しているかどうかを確認する必要があります。使えない

Page.User.IsInRole("MyDomain\MyGroup")

なぜなら

Page.User.Identity.Name

空の文字列を返します。このプログラムには素晴らしい仕様があるため、IIS で匿名アクセスを有効にしておく必要があります。page.user.identity のものを除外しているようです。

したがって、(少なくとも) 現在のユーザーを (System.Environment.UserName から) 取得する方法を見つけましたが、ドメイン グループに対してバウンスして、その中にいるかどうかを確認する必要があります。または、自分自身をチェックできるように、特定のドメイン内のユーザーのリストを取得することをお勧めします。何かのようなもの...

Dim UserName as String

UserName = System.Environment.UserName

If User(UserName).IsInRole("MyDomain\MyGroup") Then
    MyFunction = "Success"
End If

-また -

Dim GroupUsers as String()

GroupUsers = GetDomainUserNames("MyDomain\MyGroup")

誰にもアイデアはありますか?

4

1 に答える 1

4

Roles 静的クラスから IsUserInRole を呼び出すことができます。サンプルと参考資料をご紹介します。

Roles.IsUserInRole(username, rolename);

リンク: http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.isuserinrole.aspx

于 2011-07-07T00:04:18.590 に答える