私は、デスクトップのバックグラウンドを持つ開発者と一緒に新しいショップで働いているWeb開発者です。そのため、コードの整理に関しては、特定の特異性/ベストプラクティスがあります。その1つは、個別のUIビューが異なるプロジェクトに分離されていることです。
そのため、家のWeb側では、さまざまなアプリドメインでさまざまなプロジェクトを構築する際に問題が発生します。
1)default.aspxを使用した「ポータル」プロジェクトがあります。背後のコードには、Login_Authenticateイベント内から呼び出され、デスクトップアプリケーションの「ビジネスレイヤー」にログインするカスタム認証メソッドがあります。ビジネス側は、セッションデータをASP.NETセッションに格納します。
2)default.aspxを使用した「viewer」プロジェクトがあります。これは元々「Viewer.aspx」としてポータルプロジェクトにあり、同じログインスキームでカバーされ、正常に認証されましたが、立っておくとよいと判断しました。別のビューであるため、独自のプロジェクトで。
両方のweb.configファイルに同じマシンキーを追加して、.NETフォーム認証をシングルサインオンで渡すことができるようにしました。
私は2つの異なる方法でビューアプロジェクトを構築しました。
1回目の試行(独自のURL):
2回目の試行(ポータルURLの下のサブドメイン):
http:// localhost / Portal / Viewer
私が直面している問題は、PortalプロジェクトとViewerプロジェクトの間でセッションが渡されていないことです。これは、IISが異なるアプリドメインでそれらを実行しているためです。残念ながら、ポータルからのASP.NETセッションがないと、ビューアはビジネスアプリケーションにログインしません。
ベストプラクティスはありますか/1つのアプリドメインで複数のプロジェクトを実行することさえ可能ですか?ビューアーは同じセッションを必要とするため、ポータルアプリケーションの一部である必要がありますか?ビューアーは、ビジネスレイヤーへの独自のログインを必要とする別個のプロジェクトである必要がありますか?このシナリオのベストプラクティス/ガイドラインさえありますか?