会员提供者,IPrincipal,IIdentity?

时间:2010-03-24 20:04:09

标签: c# asp.net security asp.net-membership roles

我有一个概念性的问题......我正在为一家公司制作一个Intranet应用程序(Web平台)。我有一个带有这些表的SQL Server DB:

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

在用户浏览网站时,如何创建用于存储所有这些信息的结构的最佳方式,我的意思是,在线程上我应该能够检查他的角色,他的页面(他可以访问的那些)我有一直在阅读,有很多东西在那里我很困惑,我看到了MembershipProvider,IPrincipal,IIdentity等课程,但我不确定什么对我来说应该是最好的。

任何想法......

提前致谢!

修改 每次都变得更加混乱......我只想在运行时处理这些结构,并能够在页面回调或更改页面期间保持状态......

3 个答案:

答案 0 :(得分:2)

我通常使用MembershipProvider,RoleProvider和ProfileProvider。听起来它会解决你所有的问题。

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

MembershipProvider允许您使用许多内置的asp.net控件,如login,loginstatus,userwizard。

RoleProvider允许您创建和管理哪些成员资格用户在哪些角色,您可以使用web.config管理对应用程序不同区域的访问

ProfileProvider允许您基本上扩展会员用户帐户,以便向他们的帐户添加您希望的任何属性。

答案 1 :(得分:1)

如果你正在构建一些全新的东西,我认为你应该看一下asp.net中的内置membership and role system,尤其是Sql Server角色提供程序。

答案 2 :(得分:1)

使用ASP.NET成员资格,您需要针对asp.net MembershipProvider模型进行编码。 如果可以的话,我会使用任何自定义代码进行身份验证和角色,并使用现有的提供者模型。然后编写一些自定义代码来处理页面级访问。

IPrincipal非常简单,如果您必须使用列出的自定义表格,它可能会更快。 希望有助于

相关问题