That helped a lot getting it compiled.
I put the config file at \Setup\ProviderConfig\usersigninhandlers\001_clUserSignInHandlerProvider.config
<?xml version="1.0" encoding="utf-8" ?>
<UserSignInHandlers>
<providers>
<add name="clUserSignInHandlerProvider"
type="mojoPortal.Business.WebHelpers.UserSignInHandlers.clUserSignInHandlerProvider, clUserSignInHandlerProvider"
description="clUserSignInHandlerProvider" />
</providers>
</UserSignInHandlers>
I compiled the followiing to the assembly clUserSignInHandlerProvider.dll and copied it to \bin
using System;
using System.Configuration.Provider;
using System.Collections.Generic;
using System.Text;
using System.Web;
using log4net;
using mojoPortal.Business;
using mojoPortal.Business.WebHelpers;
using mojoPortal.Business.WebHelpers.UserSignInHandlers;
using mojoPortal.Web.Framework;
namespace mojoPortal.Business.WebHelpers.UserSignInHandlers
{
public class clUserSignInHandlerProvider : UserSignInHandlerProvider
{
private static readonly ILog log = LogManager.GetLogger(typeof(clUserSignInHandlerProvider));
public clUserSignInHandlerProvider()
{
}
public override void UserSignInEventHandler(object sender, UserSignInEventArgs e)
{
if (e == null)
{
return;
}
if (e.SiteUser == null)
{
return;
}
if (WebUser.IsInRole("employees"))
{
HttpContext.Current.Response.Redirect("/employees.aspx");
log.Debug("Redirected user " + e.SiteUser.Email + " to employees.aspx");
return;
}
if (WebUser.IsInRole("visitors"))
{
HttpContext.Current.Response.Redirect("/visitors.aspx");
log.Debug("Redirected user " + e.SiteUser.Email + " to visitors.aspx");
return;
}
HttpContext.Current.Response.Redirect("/home.aspx");
log.Debug("Redirected user " + e.SiteUser.Email + " to home.aspx");
}
}
}
In the logs it doesn't show anything. If I replace the 000_placeholder.config file it shows the DoNothing login handler sample.
I'm sure I've made a stupid dumb mistake, but where is it? I earlier on changed the namespace (and config file to match) and it didn't work either...
Sorry for the long post!