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 を誤って設定している可能性があります。
注入されたクラスを介して UserRoles を取得する必要があるため、IoC で設定する必要があります。
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;
}
}
どこが間違っていますか?これを達成できる別の方法はありますか?