2013-04-15 30 views
-1

我在我的解决方案中有一个名为app_ui的MVC应用程序作为启动项目,以及解决方案中的一些其他应用程序作为模块。然后在启动项目中,我使用routetable访问模块及其操作。我使用fluentsecurity进行授权,并将其配置为Global.asax,用于app_ui中的控制器,并且一切正常。但对于控制器和模块中的操作,我无法将配置添加到fluentsecurity,并想知道如何为它们添加设置策略。在模块化系统mvc中使用fluentsecurity 4

回答

0

您可以使用个人档案在FluentSecurity 2.0(beta1)中执行此操作!这里是一个链接到文件:从主应用程序https://github.com/kristofferahl/FluentSecurity/wiki/Profiles

1)创建模块

public class AdminAreaSecurityProfile : SecurityProfile 
{ 
    public override void Configure() 
    { 
     For<UserAdminController>().RequireRole(UserRole.Administrator) 
     For<BlogAdminController>().RequireRole(UserRole.Editor) 
    } 
} 

2在配置文件)扫描配置文件

SecurityConfigurator.Configure(configuration => 
{ 
    configuration.GetAuthenticationStatusFrom(() => HttpContext.Current.User.Identity.IsAuthenticated); 

    configuration.Scan(scan => 
    { 
     scan.AssembliesFromApplicationBaseDirectory(); 
     scan.LookForProfiles(); 
    }); 
}); 
+0

坦克为你回答。我喜欢这个图书馆。我遇到的问题是,模块程序集不在Applicationbasedirectory中,所以我使用下面的代码:scan.AssembliesFromPath(path,a => true); – user1251552