0

MVCアプリの上に(クラシック)Webサービスのみをホストする新しいasp.netプロジェクトを追加しました。

Webサービスは、BizLayerDllsにあるBizオブジェクトを呼び出します。

WebServiceクライアントは通常のユーザーと同じように、操作ごとに認証および承認される必要があります。

私はSOAP認証トークンを使用して、最初の呼び出しでユーザーを検証し、その後の呼び出しごとにそのトークンを渡します。

BizObjectsはIUserSessionManagerにアクセスして許可ユーザーを取得し、要求ごとに許可ユーザーを呼び出します。これは、BusinessObjectsの呼び出し元であるMVCアプリとWindowsアプリでは非常に簡単でした。では、BusinessObjectsがユーザー情報を取得できる次のシステムにユーザー情報を保存するにはどうすればよいですか。(これはあなたにとって簡単かもしれませんが、私はWebサービスでの作業に慣れていません)

public class XyzUserSessionManager
{
    private static IXyzUserSessionManager _instance;
    public static IXyzUserSessionManager UserSessionManager
    {
        get { return _instance; }
        set { _instance = value; }
    }
    public static IXyzUserSession Current
    {
        get { return UserSessionManager.Current; }
    }
}


    public IXyzUserSession Current
    {
        get
        {
            if (HttpContext.Current == null || HttpContext.Current.Session == null || HttpContext.Current.Session[SessionKey] == null)
                return null;
            return (IXyzUserSession)HttpContext.Current.Session[SessionKey];
        }
        protected set
        {
            HttpContext.Current.Session[SessionKey] = value;
        }
    }
4

1 に答える 1

0

通常の Web アプリと同様に、セッション状態のサポートを有効にすることができます。これは、メソッドごとに行われます。詳細については、http: //msdn.microsoft.com/en-us/library/aa480509.aspxを参照してください。

于 2012-11-09T08:23:11.017 に答える