代码之家  ›  专栏  ›  技术社区  ›  scottm

ASP.NETMVC成员资格

  •  5
  • scottm  · 技术社区  · 16 年前

    我想使用authorized属性来控制允许哪些用户访问我的操作。我只想澄清一下,我的逻辑是正确的。

    1. 我将用户的凭据发布到安全控制器的登录操作。
    2. 我使用UserService类验证凭据,并将从UserService类返回的IPrincipal分配给HttpContext.User

    这是事物的正常流动吗?我知道我可以继承MembershipProvider,但我不需要那里的所有功能,实际上只需要能够使用两个不同的角色登录。

    2 回复  |  直到 16 年前
        1
  •  4
  •   Community Mohan Dere    9 年前

    ASP.NET 2.0 Forms authentication - Keeping it customized yet simple

    您可以在此处找到其他解决方案:

    Where to store logged user information on ASP.NET MVC using Forms Authentication?

    编辑

    您应该阅读本页:

    http://msdn.microsoft.com/en-us/library/aa480476.aspx

    这个 FormsAuthenticationModule 类构造一个 总负责人 对象并将其存储在HTTP中 总负责人 对象包含对 形式实体 实例,该实例表示当前 已验证的用户。你应该允许 表单身份验证以管理这些 给你的任务。如果你的申请 有具体要求,如 设定 属性设置为 实现 接口, 您的应用程序应该处理 认证后 事件这个 认证后 FormsAuthenticationModule 已验证表单身份验证 cookie并创建了 形式实体 物体。在这段代码中,您可以 建立一个习惯 我主 对象 这就包袱了 形式实体 对象 HttpContext。 使用者 财产。

    不为空 (它是GenericPrincipal,稍后您将替换它)。当HttpContext.Current.User为null时,则之前未创建任何身份验证cookie,并且未对用户进行身份验证。

        2
  •  2
  •   G-Wiz RameshVel    16 年前

    我认为以下情况更为典型:

    1. 我使用UserService类验证凭据,然后 构造一个具有此用户某些标识信息的cookie . 通常使用FormsAuthentication.SetAuthCookie或该类实用程序方法的某些组合。
    2. 在Application AuthenticateRequest事件中,检查cookie并分配Context.User。 注意:此值在AuthenticateRequest事件后自动分配给Thread.CurrentPrincipal。这是一次性赋值,此后这些值不会自动同步。
    3. My WebAuthorizeAttribute继承AuthorizeAttribute,它检查当前的HttpContext.User.Identity.IsAuthenticated和HttpContext.User.IsInRole,以确定用户是否有权访问该操作。