我在我的解决方案中有一个名为app_ui
的MVC应用程序作为启动项目,在解决方案中有一些其他应用程序作为模块。然后在启动项目中,我通过路由表访问模块及其操作。我使用fluentsecurity
进行授权,并在Global.asax
中为app_ui
中的控制器配置它,一切正常。但对于模块中的控制器和操作,我无法将配置添加到流畅的安全性,并想知道如何为它们添加设置策略。
答案 0 :(得分: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();
});
});