2017-02-02 11 views
-2

私の会社はより集中化されたモデルに移行しており、システムにログインしているユーザーをADで再度チェックするサービスが必要です。サービスはプラグインのように動作する必要があります。つまり、アプリケーションを作成または更新するときに、ほとんどまたはまったく構成しないでアプリケーションにサービスを追加できるようにする必要があります。私はActive Directoryに関するいくつかの経験がありますが、プロジェクトを開始する最良の方法を理解する必要があります。カスタムWebアプリケーションがADユーザーの認証に使用できる認証用のWindowsサービスを作成するにはどうすればよいですか?

+0

ような何かを行うことができますMVCアプリケーションであるという応答を与えていますか? –

+0

私たちはC#MVC5ウェブアプリケーションに書き直す予定の古いアプリケーションを使っているかなり小さな会社です。ユーザーにWebページにアクセスできるようにし、正しいADグループに属している場合は、アプリケーションの使用を許可されていることを確認します。しかし、我々はそれを何らかのアプリケーションに接続できるものにしたい。 – Andy

+0

私の答えのコードを使用すると、そのコードを私は実用アプリケーションで使用し、完璧に動作します –

答えて

0

これは私が作成したクラスファイルで、あなたとあなたのためのチェックを行い、必要なすべてを行う必要があります。

public class IsUserInRole 
{ 

    public bool IsInGroup(string groupName) 
    { 
     var myIdentity = GetUserIdWithDomain(); 
     var myPrincipal = new WindowsPrincipal(myIdentity); 
     return myPrincipal.IsInRole(groupName); 
    } 

    public WindowsIdentity GetUserIdWithDomain() 
    { 
     var myIdentity = WindowsIdentity.GetCurrent(); 
     return myIdentity; 
    } 

    public string GetUserId() 
    { 
     return GetUserInformation().Name; 
    } 

    public string GetUserDisplayName() 
    { 
     return GetUserInformation().DisplayName; 

    } 

    public UserPrincipal GetUserInformation() 
    { 
     var id = GetUserIdWithDomain().Name.Split('\\'); 

     var dc = new PrincipalContext(ContextType.Domain, id[0]); 
     return UserPrincipal.FindByIdentity(dc, id[1]); 
    } 

    public UserPrincipal GetUserInformation(string domain, string lanId) 
    { 
     var dc = new PrincipalContext(ContextType.Domain, domain); 
     return UserPrincipal.FindByIdentity(dc, lanId); 
    } 


} 
0

は今、あなたの質問に、あなたは、これはあなたがこれであるプロジェクトの種類この

[Authorize(Role = "role 1, role2")] 
pubic ActionResult Index() 
{ 
    //your code here 
    return //your return object 
} 
関連する問題