我在MVC5应用程序中使用流利的安全性。我创建了一个称为surecteportalrole()的自定义策略。出于测试目的,我总是返回成功。
我的安全配置如下
configuration.ForAllControllers().DenyAnonymousAccess();
configuration.For<AccountController>(x => x.LogOn()).Ignore();
configuration.For<HomeController>().AddPolicy(new RequirePortalRole());
由于useverportalrole()始终返回policyResult.createsuccessresult(this);我希望我可以访问家庭控制器上的任何内容,但是除了帐户控制器中的登录操作外,别无其他。自定义策略似乎没有乘坐ForallController策略。
任何想法为什么不呢?我实际上是在家庭控制器上应用两个策略吗?
策略被添加,每个请求都会执行每个策略。我认为,如果您想访问HomeController上的所有内容,则应明确删除该策略:
configuration.For<HomeController>()
.RemovePolicy<DenyAnonymousAccessPolicy>()
.AddPolicy<RequirePortalRole>();
我希望我有正确的问题。