ASP.NET角色提供程序不工作

本文关键字:程序 工作 NET 角色 ASP | 更新日期: 2023-09-27 17:59:51

所以我本质上是在开发一个遗留应用程序。我有一个登录页面,它可以工作,并在登录时根据用户角色重定向。。。到目前为止还不错。但是,当用户点击他们被重定向到的页面时,IsInRole方法将一无所获,并将他们重定向到登录页面。

在登录页面上,我有:

if (Membership.ValidateUser(nameTest, passwordLogIn.Text))
{
    if (Roles.IsUserInRole(nameTest, "Admin"))
        Response.Redirect("/admin.aspx");
    else if (Roles.IsUserInRole(nameTest, "Manager"))
        Response.Redirect("/admin.aspx");
    else if (Roles.IsUserInRole(nameTest, "User"))
        Response.Redirect("/mydonations.aspx");
}

这很好。。。

在管理页面中,我有:

if (!(User.IsInRole("Admin") || (User.IsInRole("Manager"))))
{
   Response.Redirect("/Default.aspx");
}

哪个失败了。。。如果有人能发现正在发生的事情,我将不胜感激。我(不用说)看不出这个问题,更令人恼火的是,这些是其他成功运营的项目的片段。

ASP.NET角色提供程序不工作

由于MemorshipProviderSqlMembershipProvider,因此您希望使用SqlRoleProvider>来代替>WindowsTokenRoleProvider

<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
  <providers>
    <clear/>
      <add connectionStringName="ApplicationServices" 
        applicationName="/" 
        name="AspNetSqlRoleProvider" 
        type="System.Web.Security.SqlRoleProvider, System.Web"/>
  </providers>
</roleManager>
相关文章: