4

現在のアプリケーションをカナダ/アメリカ/国際システムに分割する必要がある ASP.NET プロジェクトに取り組んでいます。この分割により、特定のユーザーは、権限を持っているリージョンのデータのみを表示/変更できます。

将来のメンテナンスの悪夢を避けるために、RegionID をアプリケーションのメイン テーブルに追加しました。これにはアクセス許可も含まれます。これにより、すべてを簡単に分割し、人々が見ることを許可されているものと人々が見ることを許可されていないものを管理できるようになります。AD ユーザーに基づいて、デフォルトのリージョンを保存できます。これにより、アプリケーションにアクセスしようとするたびにリージョン スプラッシュ画面を表示する手間を省くことができます。

私は地域の Web アプリケーションを構築したことがないので、これは私の頭の中ではかなり単純に思えますが、完全に理解する前に、これを行うための「本による」方法があるかどうか疑問に思っていました。時間やリソースがないため、このアプリを完全に再構築する必要はありません。

4

1 に答える 1

1

私の意見では、これを達成する最善の方法は、言語や国が異なる場合と同じ種類のアプローチを使用することです。おそらく、ユーザーのコンテキスト、言語コンテキスト、国コンテキスト (この場合は地域) を定義するファイルを作成する必要があります。これは、ユーザーの各リージョンの ID を使用してデータベースの永続性を使用することで実現できます - 匿名でも構いません - プロファイル テーブル、または Cookie を使用してリージョン コンテキストの詳細を保存します。次に、ユーザー地域を考慮して情報を表示する通常のクラスでその情報を使用できます。

public Region RegionContext
{
    get
    {
        if (this.user != null &&
            this.user.Region!= null)
            return this.user.Region;

        var region= _region.GetAllRegions().FirstOrDefault();
        return region;
    }
    set
    {
        if (this.user == null)
            return;

        this.user.region = value;
        _user.UpdateUser(this.User);
    }
}

ここで、リージョンには ID があり、ユーザーにはリージョンへの fk があります。brgds!

于 2012-04-27T21:27:03.903 に答える