我正在尝试为sitecore实现一个非常简单的MembershipProvider,但我不确定它是否太简单而无法实际工作.基本上我们已经有一个用户数据的自定义商店,所以我知道客户MembershipProvider是要走的路.但是我的应用程序不会记录任何人,系统的不同部分负责.此外,它并不关心究竟是谁登录,只关注它们是否是(我的网站内容区域中的哪个部分无关紧要).
那么最好的方法是什么呢?我在HTTP标头中传递了一个令牌,它允许我识别是否有人登录(我甚至可以使用它来实际找出客户是谁,如果我愿意) - 不要担心它是加密的.
我已经阅读了sitecore文档,但它们都处理了MembershipProviders的完整实现.
那么实际上是否有可能只有这样的成员资格提供者即返回用户表示被记录,或者返回那些已注销的"匿名"用户?它不需要关心其他任何事情 - 密码重置,通过电子邮件和所有爵士乐查找用户.
谢谢,尼克
编辑:在Jens的帮助下,我已经全心全意地采用MembershipProvider了更轻量级的方法.
这就是我到目前为止,问题是用户没有通过多个请求登录.
public class TokenLogin : HttpRequestProcessor
{
#region Overrides of HttpRequestProcessor
/// <summary>
/// Processes the specified args.
/// </summary>
/// <param name="args">The args.</param>
public override void Process(HttpRequestArgs args)
{
var customer = SomeCodeToParseAndValidateToken();
//customer is null if token is invalid or missing
if(customer == null || Sitecore.Context.User.IsAuthenticated) return;
CreateVirtualUser(customer);
}
private static void CreateVirtualUser(CustomerAccount customer)
{
string userName = "extranet\\" + …Run Code Online (Sandbox Code Playgroud)