代码之家  ›  专栏  ›  技术社区  ›  Arnis Lapsa

Asp.net一般主问题

  •  1
  • Arnis Lapsa  · 技术社区  · 14 年前

    使用此代码进行身份验证:

    HttpContext.Current.User=new GenericPrincipal
      (new GenericIdentity(user.UserName), roles);
    FormsAuthentication.SetAuthCookie(user.UserName,false);
    

    问题是-下一个请求, HttpContext.Current.User.IsAuthenticated true HttpContext.Current.User.IsInRole("admin")

    有一个 lot of info 在谷歌,但不知何故没有帮助像往常一样。

    <system.web>
      <roleManager enabled="false" />
    </system.web>
    

    我不想使用成员资格提供程序。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Joseph    14 年前

    我认为如果您使用的是表单身份验证,那么您可能试图使用错误的身份。你最好还是用形式实体。

    Article on Best Practices for Forms Authentication (might be outdated)

        2
  •  0
  •   samy    14 年前

    看起来IsInRole方法在错误的接口上。尝试

    HttpContext.Current.User.IsInRole("admin")