В настоящее время я работаю над сайтом Nancy, который состоит из двух частей. Один для конечных пользователей шрифтов, а другой - для администраторов. Оба типа пользователей имеют разные страницы входа, где /login
позволяет только конечным пользователям войти в систему, а admin/login
разрешает только администраторам.Различные реализации IUserMapper для разных модулей - NancyFx
Что я хочу иметь, это разные реализации интерфейса IUserMapper
. Я хочу, чтобы он был разрешен до UserMapper
, когда вызывается /login
и AdminMapper
, когда вызывается маршрут . UserMapper
и AdminMapper
классов приведены ниже:
public class UserMapper: IUserMapper{
//IUserMapper implementation
}
public class AdminMapper: IUserMapper{
//IUserMapper implementation
}
Я следующий код для формы авторизации в RequestStartup
методе
var formsAuthConfiguration = new FormsAuthenticationConfiguration()
{
RedirectUrl = "~/login",
CryptographyConfiguration = CustomCryptographyConfiguration.Default,
UserMapper = container.Resolve<IUserMapper>()
};
FormsAuthentication.Enable(pipelines, formsAuthConfiguration);
Как я могу сказать, Нэнси карту IUserMapper
к UserMapper
, когда /login
называется и AdminMapper
когда это /admin/login
называется.