0

Windows 認証と Outlook 電子メール グループを使用してロールをユーザーに割り当てるようにこの MVC アプリケーションをセットアップする必要があります。その後、それらのロールに属するユーザーがコントローラーで特定のアクションを実行できるように承認できます。

グーグルで検索したところ、ロールが MVC でどのように機能するか、および多くのロールベースのアクションにロール プロバイダー クラスをどのように使用できるかについて、非常に役立つ情報が見つかりました。ただし、これらの役割は SQL データベースからのものであり、Outlook 電子メール グループと Windows 認証を使用してユーザーを承認することはありません。

Outlook の電子メール グループを活用する方法を具体的に知りたいのですが、この情報を簡単に見つけることができません。誰でも私を助けることができますか?

 <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>
4

1 に答える 1

2

Active Directory にExchange 配布リストとしてグループがある場合は、Windows 認証を使用する任意の MVC の例を使用できます。

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

アップデート

web.config にはいくつかの問題があります。1 つの deny 要素と 1 つの allow 要素のみを指定する必要があります。

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

これにより、権限のないユーザーはすべて拒否され、ドメイン ユーザーが許可されます。[Authorize]MVC は属性で定義された役割に従うことに注意してください。属性が web.config 設定をオーバーライドすると思います。

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

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

また

public class MyController
{
  [Authorize(Roles = "Group 1, Group 2, Group3")]
  public ActionResult MyAction()
  {
     return View();
  }
}
于 2012-04-23T16:56:37.780 に答える