[Authorize] public class AdminController : Controller {
我在AdminController上设置了authorize属性,但是访问/admin时却没有跳转到登录页面,Request.IsAuthenticated值为false。
<authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout="40000">
改为下面的试试:
<formsname="webapp" protection="All" loginUrl="~/Account/Login" timeout="40000">
没用啊,和IOC容器有关系么,我用的Autofac,然后通过ControllerFactory注册的。
var builder = new ContainerBuilder(); builder.RegisterFilterProvider(); var container = builder.Build();
var controllerFactory = new InjectableControllerFactory(container); ControllerBuilder.Current.SetControllerFactory(controllerFactory);
@cgs: 有可能,你可以先不用Autofac试试。
@dudu: 我把“builder.RegisterFilterProvider();”去掉就可以了。查了下文档,这是注册一个AutofacFilterProvider,您知道AutofacFilterProvider的功能是什么么,以前看很多例子里都有这句就加上了。
@cgs: 如果使用builder.RegisterFilterProvider();,可能需要在之后注册一下AuthorizeAttribute。