自定义表单身份验证+ MVC3 + AuthorizeAttribute

Dyl*_*ter 3 forms-authentication asp.net-mvc-3

我基本上做的是这个.但是,每当我使用内置的AuthorizeAttribute时,MVC框架(我猜)都不会查看我的主体以确定用户是否具有适当的角色.它一直试图在app_data目录中创建一个新的MDF文件,因为它没有特权,所以它会爆炸.

这是预期的行为,我应该自己派生自己的AuthorizeAttribute并检查校长吗?

另一个奇怪的行为是,我在同一个域上有两个站点,我正在进行单点登录.在任一站点上,我使用相同的类库在AuthenticateRequest上重新创建我的自定义主体,并且我在调试时看到主体在每个站点上正确设置.但是,站点1(对用户进行身份验证的站点)使用内置的AuthorizeAttribute,它可以正常工作,但站点2正在尝试在调用具有AuthorizeAttribute的任何操作时创建MDF文件.

Dyl*_*ter 12

好吧,我想通了,我不得不将它添加到system.webServer下的web配置中.这将删除替换我的主体的HttpModule.

<modules runAllManagedModulesForAllRequests="true">
    <remove name="RoleManager" />
</modules>
Run Code Online (Sandbox Code Playgroud)