2012-04-23 6 views
0

Windows認証とOutlook電子メールグループを使用してユーザーにロールを割り当てるために、このMVCアプリケーションを設定する必要があります。次に、そのロールに属するユーザーに対して、コントローラで特定の操作を実行できるようにします。Asp.NET用のMVCでOutlook電子メールグループをロールとして使用することはできますか?

私は動き回って、MVCでRolesがどのように機能するか、多くの役割ベースのアクションでRole Providerクラスをどのように使用できるかについて、非常に有益な情報をいくつか見つけました。ただし、これらのロールはSQLデータベースから取得されており、Outlook電子メールグループとWindows認証を使用してユーザーを認証しません。

私はOutlook Email Groupsをどのように活用できるのかを理解していますが、この情報を簡単に見つけることはできません。誰でも助けてくれますか?

<authentication mode="Windows"> 
</authentication> 
<authorization> 
    <deny users="?" /> 
    <allow users="?" /> 
    <allow roles="HAH\Domain Users"/> 
    <deny users="*" /> 
</authorization> 
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"> 
    <providers> 
    <clear /> 
    <add 
     name="AspNetWindowsTokenRoleProvider" 
     type="System.Web.Security.WindowsTokenRoleProvider" 
     applicationName="/" /> 
    </providers> 
</roleManager> 
+1

は、Exchange電子メールのグループを意味していますか?その場合は、特別なActive Directoryグループであるため、答えは「はい」です。 – jrummell

+0

はい、それはおそらく私が意味するものです。私が見ることができる参考文献を知っていますか?その間にそれらのキーワードをGoogleで開始します。 – egucciar

答えて

2

あなたはExchange Distribution ListsとしてActive Directoryにあなたのグループを持っている場合は、Windows認証を使用するすべてのMVCの例を使用することができます。

このためのVisual Studioテンプレートもあります。新しいMVC Webアプリケーションを作成し、イントラネットアプリケーションを選択します。

更新

あなたのweb.configファイルにはいくつかの問題があります。あなただけの1要素と1つの要素を許可、拒否指定する必要があります:

<authorization> 
    <deny users="?" /> 
    <allow roles="HAH\Domain Users"/> 
</authorization> 

これは、すべての不正使用者を拒否し、ドメインユーザーを許可します。 MVCは[Authorize]属性で定義されている役割に従います。私はその属性がweb.config設定を上書きすると信じています。

コントローラでは、コントローラクラス全体または特定のアクションメソッドのいずれかにロールを指定できます。

[Authorize(Roles = "Group 1, Group 2, Group3")] 
public class MyController { } 

OR

public class MyController 
{ 
    [Authorize(Roles = "Group 1, Group 2, Group3")] 
    public ActionResult MyAction() 
    { 
    return View(); 
    } 
} 
+0

http://www.asp.net/mvc/tutorials/older-versions/security/authenticating-users-with-windows-authentication-cs – egucciar

+0

残念ながら、私はこの現在のプロジェクトを作業する必要があり、新しいものを作ることはできません。しかし、助けてくれてありがとう。 – egucciar

+1

既存のプロジェクトを変更するのは本当に簡単です。 web.configファイルを比較し、設定が[この記事](http://msdn.microsoft.com/en-us/library/gg703322(VS.98).aspx)と一致していることを確認してください。 – jrummell

関連する問題