2
我迄今爲止嘗試:如何在C#和ASP.NET中使用Identity框架配置基於角色的訪問權限?
我我要保護有以下內容應授予僅admin
,second_level
和third_level
用戶訪問的文件夾中放置一個Web.config
。
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="admin"/>
<allow roles="second_level"/>
<allow roles="third_level"/>
<deny roles="first_level"/>
<deny roles="blocked"/>
<deny users="*" />
</authorization>
</system.web>
</configuration>
在主Web.config
我把:
<roleManager enabled="true" defaultProvider="myapp.App_Code.SecurityAppRoleProvider" cacheRolesInCookie="true" createPersistentCookie="false" cookieProtection="All">
<providers>
<clear />
</providers>
</roleManager>
自定義角色提供:
-
:
- The
<deny users="*" />
作品。 ASP.NET應用程序將我重定向到登錄頁面,這是我需要的行爲。但是這些角色並沒有被Web應用程序所考慮。這意味着即使所有用戶都是角色admin
的成員,當前也被阻止訪問該頁面。 SecurityAppRoleProvider
將永遠不會實例化,所以我想我需要註冊自定義角色提供者,否則在哪裏?- 是不是有一個默認的角色提供程序應該與ASP.Net身份框架一起使用,而不需要代碼自定義?
namespace myapp.App_Code
{
public class SecurityAppRoleProvider : System.Configuration.Provider.ProviderBase
{
public SecurityAppRoleProvider()
{
var i = 0; // breakpoint here will never be reached?
}
}
}
在這一點上有一些事情我掙扎