locked
同 domain 應用程式之間的 single-sign-on 問題 RRS feed

  • 問題

  • 若有兩個應用程式在同一個 domain 下 (一個在 http://domain/app_1 ,一個在 http://domain/app_2)

    當我在 app_1 以「表單驗證」的方式登入

    如何在我換頁面到 以「windows 整合驗證」保護的 app_2 時,不需要再打帳號密碼 (也就是不會跳出登入視窗) ??

    希望有經驗的人給我點提示
    2010年1月6日 上午 10:26

解答

  • 不好意思,

    我以为你两个应用在同一台服务器上。
    你是否启用了匿名访问。如果匿名访问应该不会立刻弹出那个要求输入用户名和密码吧。

    我给你发了mail,里面有一个介绍安全方面的文档。希望对你有帮助。


    Microsoft Online Community Support
    2010年1月8日 上午 09:46
  • 不好意思,

    我以为你两个应用在同一台服务器上。
    你是否启用了匿名访问。如果匿名访问应该不会立刻弹出那个要求输入用户名和密码吧。

    我给你发了mail,里面有一个介绍安全方面的文档。希望对你有帮助。


    Microsoft Online Community Support

    KeFang,

    可否也寄給我一份參考。^_^
    From: Will
    Blog: http://blog.miniasp.com/
    記載著 Will 在網路世界的學習心得與技術分享
    2010年1月27日 上午 05:34

所有回覆


  • 歪仔你好

    你這2個APP 是不是在同一個SERVER RUN 的?
    如果是的話
    可以看看下面的文章 應該可以幫到你

    http://aspalliance.com/1545_Understanding_Single_SignOn_in_ASPNET_20.all

    Hope this can help.

    Chi
    2010年1月6日 上午 11:00
  • 第一篇文章說明了如何讓兩個都是表單驗證的應用程式做 single-sign-on ,
    不過都沒有提到 windows 整合驗證,不知道是不是我看漏了?
    2010年1月6日 下午 02:55
  • 唔好意思
    我無睇清楚你個問題就 REPLY
    我未試過個WINDOWS AUTHICATION 做web application
    所以都唔係咁清楚
    Sorry
    Chi
    2010年1月6日 下午 03:21
  • 你好,


    form验证是用用cookie,windows验证是使用windows account,两者实现方式不一样。
    但是你可以测试下下面这种方式,我没有测试过。

    因为两者的domain一样,所以你在B网站的登录页面的Page_Load方法中试着去检查cookie,是否有相应的cookie存在,如果存在你再模拟一个具有适当权限的windows用户给当前的Context.User。

    Microsoft Online Community Support
    2010年1月7日 上午 08:03
  • dear KeFang Chen

    首先感謝你的回應

    我嘗試著先登入表單驗證的應用程式
    接著點擊一個連結,連結到 windows 整合驗證 的應用程式頁面

    我用 wireshark 側錄這個過程
    可發現當我點擊連結時
    因為兩個應用程式在同一個 domain,所以 cookie 可以順利藉由我的 request 送出去
    但是
    windows 整合驗證 是用 NTLM 驗證,所以會IIS 會馬上回我一個帶有 "WWW-Authenticate: NTLM" 這種標頭的回應
    所以 requuest 並不會直接送到特定的 aspx 頁面
    再者
    當瀏覽器收到這種標頭的時候,就會開始進行 NTLM Negotiate,也就是會談出對話框要求使用者輸入帳號密碼...


    如果有需要錄製下來的資料,可以 email 一封信到 magiclin99@gmail.com,我再把資料寄給你,謝謝
    2010年1月8日 上午 05:38
  • 不好意思,

    我以为你两个应用在同一台服务器上。
    你是否启用了匿名访问。如果匿名访问应该不会立刻弹出那个要求输入用户名和密码吧。

    我给你发了mail,里面有一个介绍安全方面的文档。希望对你有帮助。


    Microsoft Online Community Support
    2010年1月8日 上午 09:46
  • 不好意思,

    我以为你两个应用在同一台服务器上。
    你是否启用了匿名访问。如果匿名访问应该不会立刻弹出那个要求输入用户名和密码吧。

    我给你发了mail,里面有一个介绍安全方面的文档。希望对你有帮助。


    Microsoft Online Community Support

    KeFang,

    可否也寄給我一份參考。^_^
    From: Will
    Blog: http://blog.miniasp.com/
    記載著 Will 在網路世界的學習心得與技術分享
    2010年1月27日 上午 05:34
  • 保哥你好,

    我给他发的是一本电子书,书名叫《Developing more secure Microsoft ASP.NET application》

    不知你有没有,如果没有你可以把邮件地址告诉我,我给你发过去。


    Microsoft Online Community Support
    2010年1月27日 上午 09:52
  • 你可否到我的部落格留言給我,我再回信給你,你就會有我的郵件地址了!

    感謝您! ^_^


    From: Will
    Blog: http://blog.miniasp.com/
    記載著 Will 在網路世界的學習心得與技術分享
    2010年1月27日 下午 12:11