- PR -

ログインユーザーのグループを取得したい

1
投稿者投稿内容
kusa
会議室デビュー日: 2004/03/18
投稿数: 5
投稿日時: 2004-03-18 16:24
はじめまして。

現在、C#で開発をしています。
ログインしたユーザーのグループを取得したいのですが
(アプリの権限管理のため)
よい方法があれば教えてください。

過去ログを見てActiveDirectoryを使用するのかなとも思ったのですが
作成や変更をするわけではないので
もっと簡単な方法があればお聞かせ願いたいのですが。

よろしくお願いします。
Hasumi
ベテラン
会議室デビュー日: 2002/07/23
投稿数: 78
お住まい・勤務地: 神奈川・東京
投稿日時: 2004-03-19 15:11
Hasumiです。

Win32APIのNetUserGetLocalGroupsを使うとか。
mitchin
会議室デビュー日: 2003/05/28
投稿数: 16
投稿日時: 2004-03-19 15:32
アプリの権限管理のためでしたらログオンユーザが該当グループに所属しているかどうかで判断してみてはいかがでしょうか。
VBですがドメイン環境でこんな感じで使ってます。

Webアプリ(System.Threading.ThreadとSystem.Stringクラスを参照)
Function HasPermission() As Boolean
  Return CurrentPrincipal.IsInRole(Format("{0}\Administrators", Environment.UserDomainName))
End Function
※IISで統合認証を使用

Winアプリ(System.Security.Principal名前空間を参照)
Function HasPermission() As Boolean
  Dim wp As New WindowsPrincipal(WindowsIdentity.GetCurrent())
  Return wp.IsInRole(WindowsBuiltInRole.Administrator)
End Function
kusa
会議室デビュー日: 2004/03/18
投稿数: 5
投稿日時: 2004-03-20 00:43
今回はログインしたユーザーが
どの権限(Administrator、PowerUserなど)を持つかを
知りたかったので
NetUserGetLocalGroups
を使って解決できました。

本当に助かりました。
Hasumiさん、koyamaさん、ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)