我有一些关于ASP.NET成员资格和角色提供程序的顶级问题。我已经做了一些搜索,但我很难找到一些外行教程。我已经在ASP.NET编写了一段时间,但我对身份验证的唯一真实体验是使用FormsAuthentication.SetAuthCookie(usernameFromDatabase, false);
当我使用上面的SetAuthCookie()
方法时,我使用的是ASP.NET成员资格提供程序吗?如果我错了请纠正我,但我不认为我。我只是设置一个身份验证cookie吗?我通常在我的数据存储库中实现自己的自定义方法,例如GetUser_ByUsername(string username)
,然后与ORM对话并获得正确的用户。
我只是在寻找这个系统的简要教程/解释。如果你有任何好的参考资料让我看一下,我会高兴地看看:)
答案 0 :(得分:2)
实施会员提供者并不难。请注意,您只需要实现计划实际使用的方法。应将成员资格提供程序视为从身份验证角度与您的用户信息进行交互的方法。它不会为您创建身份验证cookie;在成功调用提供程序上的ValidateUser方法之后执行此操作。它允许您针对提供程序接口开发应用程序,并通过配置轻松更改要使用的提供程序,而不是重写应用程序代码。我已经使用自己的架构成功实现了几个不同的成员资格提供程序,该架构支持内置和混合内置/活动目录身份验证。更多信息可通过以下链接获得:
答案 1 :(得分:2)
SetAuthCookie()
与ASP.NET中的Forms Authentication框架配合使用,然后您可以调整它以与成员资格提供程序集成。
他们可以,是的。有一个抽象实现,您可以根据您的特定数据需求进行子类化。您可以直接使用SqlMembershipProvider
,只需要一个数据库指向并创建所需的表。该课程有很多信息,例如here或here。
SqlMembershipProvider
可以,但如果您有兴趣了解其他DBMS是如何做的,请查看此alternative MySQL framework。
使用内置的很容易,但很多商店都会自己动手,以便他们可以使用现有的表格。您需要实施this class。
您很可能需要一个更强大的系统,而自定义会员提供商是个好主意。
答案 2 :(得分:1)