locked
SharePointとASP.NETのセッション共有について RRS feed

  • 質問

  • お世話になっております。
    現在ASP.NETで、あるシステムを開発する予定で、
    そのシステムをSharePointのサイトページから遷移させようと考えております。
    ログイン認証を遷移元のSharePointサイトで行い、そのセッション情報をASP.NETのページでも
    利用したいと考えておりますが可能でしょうか。
    具体的には、
    ・ASP.NETのページでログインしているユーザー情報を取得したい。
    ・ASP.NETのページからセッション情報を保持したまま、SharePointのページへ遷移したい。
    (リンクで遷移元のSharePointのサイトページに戻りたい)
    ・ログイン認証はSharePointのサイトページにて1回のみとしたい。
    動作環境:
    ・SahrePointServer 2010
    ・SahrePointのIIS認証の設定→統合Windows認証(NTLM)
    ・ASP.NETのシステムはSharePointと同一サーバーに配置
    (別サーバー配置も検討中)
    以上、回答宜しくお願い致します。
    2011年11月18日 7:39

回答

  • 統合Windows認証が可能なら、認証情報はSharePointに関係なく取得できると思いますよ。
    また、遷移元のSharePoitに戻すには、開発するASP.NET次第に成りますが、実装次第だと思います。

    同一サーバーに配置って結局ポートを分けないといけないので、ShaerPointのアプリケーションページを開発するのが美しい実装だと思います。


    Blog:http://sharepointissue.com HP:http://www.piecepoint.jp/
    • 回答としてマーク STN5F 2011年11月24日 0:30
    2011年11月20日 12:44
  • yama chan様が言われているアプリケーションページはSTN5F様の言われるWebパーツを配置したページとは別かと思われます。

    アプリケーションページはSharePoint上にASP.NETで開発したページを埋め込むイメージでとらえています。

    http://msdn.microsoft.com/ja-jp/library/ee231581.aspx

    http://code.msdn.microsoft.com/10-SharePoint-C-276fca4d

    ↑辺りが参考になるんじゃないかと思いますが、お勧めは下記書籍です。

    VSTOとSharePoint Server 2007による開発技術 Visual Studio 2008で構築するOBAソリューション 」

    http://www.amazon.co.jp/gp/reader/4798118419/ref=sib_dp_ptu#reader-link 

     

    私自身アプリケーションページについて未熟ながらも、この書籍をもとに開発する事が可能でした。

    (上記書籍の中にアプリケーションページについて書かれている部分はそれほど多くはないです。)

    • 回答としてマーク STN5F 2011年11月24日 0:30
    2011年11月22日 9:13
  • みすた様フォロー有難うございます。
    >前にネットで情報収集していましたら、NTLM認証だとASP.NETから認証情報を転送できないという問題の記事を見つけ、気になっておりました。
    >http://msdn.microsoft.com/ja-jp/library/ms180891(v=VS.90).aspx
    こちらについてはダブルホップの問題ですね。
    今回の実装には関係なさそうですね。
    直接ブラウザからのアクセスなので、、
    この件で問題になるのは、ASP.NETのプログラム中で別のWebサービスなどにアクセスするとき、アクセス中の認証情報が引き継げないと言う事です。

    Blog:http://sharepointissue.com HP:http://www.piecepoint.jp/
    • 回答としてマーク STN5F 2011年11月29日 5:38
    2011年11月24日 9:16

すべての返信

  • 統合Windows認証が可能なら、認証情報はSharePointに関係なく取得できると思いますよ。
    また、遷移元のSharePoitに戻すには、開発するASP.NET次第に成りますが、実装次第だと思います。

    同一サーバーに配置って結局ポートを分けないといけないので、ShaerPointのアプリケーションページを開発するのが美しい実装だと思います。


    Blog:http://sharepointissue.com HP:http://www.piecepoint.jp/
    • 回答としてマーク STN5F 2011年11月24日 0:30
    2011年11月20日 12:44
  • yama chanさま

    お返事が遅くなりました。
    早くの回答ありがとうございます。

    >統合Windows認証が可能なら、認証情報はSharePointに関係なく取得できると思いますよ。

    前にネットで情報収集していましたら、NTLM認証だとASP.NETから認証情報を転送できないという問題の記事を見つけ、気になっておりました。

    http://msdn.microsoft.com/ja-jp/library/ms180891(v=VS.90).aspx

    NTLM認証の場合、ASP.NETページから認証情報は取得はできても、転送はできないということでしょうか。
    ということはASP.NETページでログイン処理を必要行わなければ問題ないということでしょうか。

    >同一サーバーに配置って結局ポートを分けないといけないので、ShaerPointのアプリケーションページを開発するのが美しい実装だと思います。

    私どももShaerPointのアプリケーションページとして開発することがスマートだと思い、SharePointページ上に開発したWebパーツを配置して作成しようと考えていたのですが、システムの機能性、柔軟性を考慮した結果、ASP.NET開発になりました。(Webパーツ開発の知識不足なのもあります)
    ログイン認証をSharePointページで行い、そこからASP.NETのページに遷移することで認証情報を利用できると考えております。
    SharePointサイトをASP.NETで拡張するイメージですので、ポートを分ける必要はないと考えております。


    • 編集済み STN5F 2011年11月22日 5:22
    2011年11月22日 5:20
  • yama chan様が言われているアプリケーションページはSTN5F様の言われるWebパーツを配置したページとは別かと思われます。

    アプリケーションページはSharePoint上にASP.NETで開発したページを埋め込むイメージでとらえています。

    http://msdn.microsoft.com/ja-jp/library/ee231581.aspx

    http://code.msdn.microsoft.com/10-SharePoint-C-276fca4d

    ↑辺りが参考になるんじゃないかと思いますが、お勧めは下記書籍です。

    VSTOとSharePoint Server 2007による開発技術 Visual Studio 2008で構築するOBAソリューション 」

    http://www.amazon.co.jp/gp/reader/4798118419/ref=sib_dp_ptu#reader-link 

     

    私自身アプリケーションページについて未熟ながらも、この書籍をもとに開発する事が可能でした。

    (上記書籍の中にアプリケーションページについて書かれている部分はそれほど多くはないです。)

    • 回答としてマーク STN5F 2011年11月24日 0:30
    2011年11月22日 9:13
  • みすたさま

    回答ありがとうございます。


    なるほどですね。

    SharePoint上にASP.NETで開発したページを組み込むのであれば、SharePointの権限設定を利用できそうですね。

    実は「VSTOとSharePoint Server 2007による開発技術 Visual Studio 2008で構築するOBAソリューション 」は本屋で少し見ましたが、一見Webパーツについてだけだと思ったので、購入しなかったんです。

    でも参考になりそうなので再度チェックしてみます。

     

    ありがとうございました!

    2011年11月24日 0:29
  • みすた様フォロー有難うございます。
    >前にネットで情報収集していましたら、NTLM認証だとASP.NETから認証情報を転送できないという問題の記事を見つけ、気になっておりました。
    >http://msdn.microsoft.com/ja-jp/library/ms180891(v=VS.90).aspx
    こちらについてはダブルホップの問題ですね。
    今回の実装には関係なさそうですね。
    直接ブラウザからのアクセスなので、、
    この件で問題になるのは、ASP.NETのプログラム中で別のWebサービスなどにアクセスするとき、アクセス中の認証情報が引き継げないと言う事です。

    Blog:http://sharepointissue.com HP:http://www.piecepoint.jp/
    • 回答としてマーク STN5F 2011年11月29日 5:38
    2011年11月24日 9:16
  • yama chanさま

     

    回答ありがとうございます。

    yama chanさまやみすたさまの回答からSharePoint上にASP.NETページを埋め込む方法で開発しようと思います。

    そうしましたら、SharePointのアクセス認証で開発したシステムページを管理できるようになりますので。

    その新システムのデータはSharePointとはDBを分けますが、ユーザー情報はSQLConnection クラスでSharePoint DBから取得して利用するつもりです。

     

    ご指導ありがとうございました。

     

    2011年11月29日 2:39