Error activating ISecurityContext using binding from ISecurityContext to SecurityContext.
当我尝试在 ASP.NET MVC 4 Web 应用程序中使用 Ninject.Web.Mvc3 配置 FluentSecurity 2.0.0 时,出现上述错误。
我认为 FluentSecurity 的内部 IoC 和 Ninject IoC 可能会发生冲突。或者我可能在 SecurityConfigurator 中错误地设置了 DependencyResolver。
我需要使用 IoC 进行设置,因为我需要通过注入的类获取 UserRoles。
public static class SecurityConfig
{
public static ISecurityConfiguration Configure()
{
SecurityConfigurator.Configure(
configuration =>
{
configuration.ResolveServicesUsing(
DependencyResolver.Current.GetServices,
DependencyResolver.Current.GetService);
configuration.DefaultPolicyViolationHandlerIs(() => new DefaultPolicyViolationHandler());
configuration.GetAuthenticationStatusFrom(
() => HttpContext.Current.User.Identity.IsAuthenticated);
configuration.GetRolesFrom(
() =>
((IPersonManager)DependencyResolver
.Current
.GetService(typeof(IPersonManager)))
.GetCurrentUserRoles());
configuration.ForAllControllers().DenyAnonymousAccess();
configuration.For<AdminController>().RequireAnyRole(Role.Administrator);
});
return SecurityConfiguration.Current;
}
}
我哪里错了?还有另一种方法可以实现这一目标吗?