我試圖在不同的web應用程序(asp.net應用程序和MVC4應用程序)之間共享身份驗證和授權。應用程序之間的共享身份驗證
我讀過,你應該設置機器的關鍵和這些值是相同的站點之間。我已經完成了這項工作,認證工作正常。
但是現在在MVC應用程序中,我想使用Authorize屬性來確保用戶只能看到應該看到的內容。這不起作用。
我也檢查過。
當我從ASP.Net應用程序(這是登錄完成的地方)調用User.IsInRole(「Admin」)時,返回的值爲true,但當瀏覽到MVC應用程序時,同一個調用返回false。
似乎角色沒有在整個應用程序中共享,是否有可能得到工作或應該我創建一個自定義的授權屬性?
感謝davance
我懷疑應用程序將在單獨的域。你現在有辦法將角色傳遞給第二個應用程序嗎? – Captain0 2012-08-16 08:01:43
是的。訣竅在於,當您創建表單Cookie時,您可以以「role1 | role2 | ...」的形式將角色存儲在表單cookie的userdata部分。然後你提供你自己的角色提供者,它從表單cookie的userdata部分讀取角色。這樣,如果你的應用程序共享窗體cookie,他們也共享角色。 – 2012-08-16 08:09:44
您是否認爲WIF是在此解決方案上實施單點登錄的方式? – Captain0 2012-08-16 09:30:20