2012-03-20 146 views
1

我有要求在WCF服務上設置身份驗證和授權,現在服務已創建並正常工作,但沒有身份驗證。WCF服務驗證和授權

還需要驗證存儲在SQL數據庫中並且已被另一個Web應用程序使用的現有用戶和密碼,但是因爲我沒有它的源代碼,並且仍在進行調整。 NET我有一些困難。

我可以讀取數據庫,並發現數據庫中的幾個aspnet_表,如aspnet_Users,aspnet_Roles等,迄今爲止似乎與Web應用程序中使用的表匹配。

我的問題是如何輕鬆實現使用現有數據庫的身份驗證和方法授權。

請注意,我無權訪問網絡應用程序源代碼。

謝謝。

回答

0

MVC使用標準的ASP.Net成員資格提供程序。如果您單擊登錄按鈕/註冊鏈接 - 您可以添加一個用戶。 ASP.Net將創建包含成員信息的App_Data \ ASPNETDB.MDF。您可以將ASPNETDB.MDF移動到遠程數據庫服務器,但必須使用成員資格提供程序架構/數據庫(除非您編寫自己的提供程序)。

幾個MVC鏈接讓你開始。

http://www.asp.net/mvc/tutorials/older-versions/security/authenticating-users-with-forms-authentication-vb http://weblogs.asp.net/fredriknormen/archive/2007/11/25/asp-net-mvc-framework-security.aspx http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/

添加的缺省的認證/授權配置使用ASP.NET標準成員和角色管理器服務提供者(本地SQL Express)。如果您現有的數據庫(用於用戶登錄)也是ASP.NET標準SQL成員資格數據庫,則可以簡單地更改成員資格部分的連接字符串。否則,您可能需要創建一個自定義成員資格提供程序,它使用您自己的數據庫表進行用戶身份驗

實現成員資格提供 http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx

構建自定義供應商對於ASP.NET 2.0成員 http://msdn.microsoft.com/en-us/library/aa479048.aspx

0

真的沒有簡單的方法來達到您的要求。 Here是您可以使用的庫,並遵循此blog中描述的精妙步驟,以使用SQL成員資格提供程序爲WCF服務設置身份驗證。
在我的情況下,我對庫進行了小更新。我已經註釋掉了一行代碼

//if (!IsAnonymousAllowed)