電流2層應用程序WCF授權(請求過濾)形成AUTH客戶
ASP.NET(會員/角色) - BL - DAL - DB
用戶被認證後(籍)我們使用角色來幫助授予不同的菜單項,如「報告」和「管理」。但作爲授權的一部分,我們還必須考慮到響應過濾。例如,無論用戶的角色如何,通過id檢索語句的方法都應該限於用戶只能通過建立的數據庫關係檢索屬於他們的語句。爲了實現這一點,Web應用程序在會話中維護一個注入每個BL對象的配置文件(POCO)(可能這個對象應該被合併到IIdentity
中)。隨後,在BL內部,我們可以確定對id X的請求是否確實應該返回一條語句,因爲我們知道正在請求此語句的用戶,並且我們知道該語句和應該能夠訪問它的用戶之間的關係。
未來3層應用程序
ASP.NET(會員/角色) - WCF - BL - DAL - DB
驗證似乎保持不變,WCF服務可以被密碼保護,以確保只有我們的網絡應用程序(或任何其他具有用戶/密碼的)才能訪問它。然而,我如何去促進響應過濾?是否有無縫的機制將ASP.NET的IPrincipal
/IIdentity
傳遞給服務?如果是的話,這將如何限制我,如果下線我有一個非ASP.NET客戶端到相同的服務?如果不是,這個信息應該是請求dto還是請求頭的一部分?