0

私の質問はアプローチに関するもので、解決策を開発するのに役立つヒントやリンクを探しています。ユーザーとパスワードの aspnetdb SQL データベースを使用するフォーム認証で動作する .NET 4.0 Web フォーム アプリケーションがあります。アプリケーションの新機能は、シングル サインオンを使用して何千もの新しいユーザーのアクセスを許可する新しい認証メカニズムです。基本的に、ユーザーが新しいシングル サインオン方法でログインすると、ロールを持つ正当なユーザーとして識別できます。

したがって、HttpContext.Current.Session["email_of_authenticated_user"] (ID) とHttpContext.Current.Session["role_of_authenticated_user"] (ロール) のようなものがあります。

重要なのは、廃止される aspnetdb データベースでこれらのユーザーとロールを冗長に維持する必要はありませんが、上記のセッション オブジェクトを使用して、ユーザーがアプリケーションを通過しているかのように通過できるようにすることです。フォーム認証あり。CustomRoleProviders または CustomMemberProviders は、セッション レベルのユーザーを作成できないため、役に立たないと思います。

だから私の質問は、強制するようなすべてのフォーム認証の良さを「模倣」する必要があるセッションレベルのユーザーとロールを使用する方法です:

[System.Security.Permissions.PrincipalPermission(System.Security.Permissions.SecurityAction.Demand, Role = "Student")]

また

<authorization>
    <allow users="wilma, barney" />
</authorization>

ご指摘ありがとうございます。

4

1 に答える 1

3

Forms Authenticationと混同していると思いますSqlMembershipProvider

フォーム認証は、ASP.NET が一般的にユーザーを承認および認証する手段です。それがどのように行われるかの特定の実装を指定しません。これは、一度認証されると、アプリケーションが Cookie として保存される「チケット」システムを介してアプリ全体でこれらの資格情報を使用できる方法を提供するだけです。

基本的に、Windows にはフォーム認証と Windows 認証の 2 種類の認証しかありません。新しい方法は Windows ベースではないため、フォーム認証を使用する必要があります (単に asp.net に組み込まれているものを無視して、すべてを自分でロールするのはばかげている場合を除きます)。

Windows Identity Foundationは、さまざまな Web ベースのシングル サインオン方法を含む、ID のプラグ可能なアーキテクチャを提供するため、検討することをお勧めします。

于 2010-12-24T00:58:15.290 に答える