1
我有一個應用程序對特定用戶(East)進行身份驗證並將其重定向到他們各自的頁面(East.aspx)。無論何時他們轉到授權頁面(East.aspx),它們被重定向到登錄頁面。授權用戶無法訪問他們的頁面
爲解決上述問題,我創建了角色並將用戶添加到Application_Start事件中的應用程序文件(Global.asax)中的特定角色。
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
if (Roles.RoleExists("Browser") == false)
{
Roles.CreateRole("Browser");
Roles.AddUserToRole("East","Browser");
}
if (Roles.RoleExists("Buyer") == false)
{
Roles.CreateRole("Buyer");
Roles.AddUserToRole("B2","Buyer");
}
if (Roles.RoleExists("Seller") == false)
{
Roles.CreateRole("Seller");
Roles.AddUserToRole("S1","Seller");
}
if (Roles.RoleExists("Admin") == false)
{
Roles.CreateRole("Admin");
Roles.AddUserToRole("A1","Admin");
}
}
在web.config文件中,我實現以下
</authorization>
<roleManager enabled="true" defaultProvider="SqlRoleManager">
<providers>
<clear/>
<add name="SqlRoleManager" type="System.Web.Security.SqlRoleProvider" connectionStringName="MyDbConn" applicationName="RolebasedApp"/>
<add applicationName="RolebasedApp" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider"/>
</providers>
</roleManager>
</system.web>
我正在測試上述情況只有東用戶。我想確保我的應用程序名稱是(我開始爲不同用戶創建網頁的應用程序名稱)。
當所有這些都完成後,當我運行我的應用程序並輸入用戶「東」的正確憑據。我導航到Login頁面而不是East.aspx
這怎麼解決?
@查克謝謝,我做了上述web.config文件的更改,但仍然導航到登錄頁面,即使我輸入東用戶的正確憑據 – user490706 2011-06-13 19:08:36
什麼文件夾是east.aspx in和where是你做了更改的web.config文件? – 2011-06-13 19:54:57
我有允許角色爲東,它可能需要是東。 – 2011-06-13 19:56:03