2010-03-24 44 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是很简陋,如果你必须使用你所列出的自定义表可能更快。 希望帮助