2010-03-24 46 views
2

我有一個概念上的問題......我正在爲一家公司製作一個Intranet應用程序(Web平臺)。我有這些表在SQL Server DB:MembershipProvider,IPrincipal,IIdentity?

Users (userID, userName, userPass, roleID) 
Roles (roleID, roleName) 
Pages (pageID, pageURL) 
RolesXPages(pageID, roleID) 

如何創建存儲所有這些信息,而用戶瀏覽該網站的結構的最好方式,我的意思是,線程上,我應該能夠檢查他的角色,他的頁面(他可以訪問的頁面)我一直在閱讀,並且在那裏有很多東西我感到困惑,我看到了MembershipProvider,IPrincipal,IIdentity等類,但我不知道什麼應該是最好的我。

任何想法...

在此先感謝!

編輯: 每次得到更加混亂......我只是想處理這些結構在運行時能夠在頁面回調或更改頁面,以十個分量狀態......

+0

你設計這些表或繼承呢? – kervin 2010-03-24 20:14:41

+0

我設計了他們凱文。 – MRFerocius 2010-04-01 14:29:31

回答

2

我一般用的MembershipProvider,RoleProvider和ProfileProvider。這聽起來像它會解決你所有的問題。

http://www.4guysfromrolla.com/articles/120705-1.aspx

的的MembershipProvider允許您使用一些內置的一樣登錄,loginstatus,userwizard asp.net控制。

的RoleProvider允許您創建和管理其會員用戶在其中的角色,並且可以使用的web.config

的ProfileProvider允許你基本上延長成員帳戶的用戶管理訪問您的不同應用領域添加你想要的任何屬性到他們的帳戶。

1

如果你正在建設一些全新的東西,我認爲你看看前人的精力在asp.net內置的membership and role system,尤其是SQL Server角色提供。

1

使用ASP.NET成員,你會想對代碼的asp.net的MembershipProvider模型。 如果可以的話,我會拋棄使用任何自定義代碼進行認證和角色,並使用現有的提供者模型。然後編寫一些自定義代碼來處理頁面級訪問。

的IPrincipal是很簡陋,如果你必須使用你所列出的自定義表可能更快。 希望幫助