gpt4 book ai didi

asp.net-mvc - 在 ASP.NET MVC 3 应用程序中使用 ASP.NET 的 MembershipProvider 可以获得什么

转载 作者:行者123 更新时间:2023-12-01 13:01:38 25 4
gpt4 key购买 nike

我正在使用 ASP.NET MVC 3。在此 MVC 上下文中,System.Web.Security.MembershipProvider 为表带来了什么?未使用登录控件。用户 session 管理(cookie 等)由表单例份验证而不是 MembershipProvider 处理,对吗?

事件目录集成?还有什么?

最佳答案

我认为 Membership API 仍然可以帮助您以特定于您的应用程序且易于更新和维护的方式管理一些通用概念(角色、访问权限等)。我相信从概念上讲,关于成员资格的想法的抽象表达得很好,所以即使您选择使用自己的自定义提供程序(相对于 SQL 或 Active Directory 提供程序),成员资格 API 也提供了一个一致的概念来添加用户、关联角色、维护个人资料等。

我在 ASP.NET MVC 中发现,如果我想要一些在 ASP.NET 站点中开箱即用的行为,我确实需要付出一些努力。我必须将 cookie 管理和创建、用户与帐户的关联、配置文件水化等连接到应用程序和 session 启动事件中。但是用于更改其中任何一个的持久性方法仍然可以在不修改的情况下工作(我正在使用SQL 成员提供程序)。

此外,从我过去的 ASP.NET 开发经验中熟悉一些元素对我来说也有一定的值(value)。按照为我的应用程序制作基本 Controller 的做法,我有一个用户上下文对象(很像 ASP.NET 页面如何拥有用户对象),我可以将 Roles 和 Profile 挂起。这使得为​​ View 创建模型的各个方面变得更加容易。我可以将 UserContext 作为传递给 View 的模型的一部分,并且在 View 中,我可以执行 Model.UserContext.Profile.LastNameModel.UserContext.Roles 之类的操作。包含(“EditOrderItems”)。我也可以只使用已经在脑海中的类似角色的概念来构建模型,并使用用户的角色,例如:

return View(new Model{
CanEditOrders = UserContext.Roles.Contains("EditOrderItems");
...
});

虽然旧的成员资格用户控件可能对 ASP.NET MVC 应用没有值(value),但 API 本身可以。

关于asp.net-mvc - 在 ASP.NET MVC 3 应用程序中使用 ASP.NET 的 MembershipProvider 可以获得什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5538315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com