GVKun编程网logo

asp.net – System.Web.Security.MembershipProvider在哪里?(asp.net authorization)

12

本文将分享asp.net–System.Web.Security.MembershipProvider在哪里?的详细内容,并且还将对asp.netauthorization进行详尽解释,此外,我们还将

本文将分享asp.net – System.Web.Security.MembershipProvider在哪里?的详细内容,并且还将对asp.net authorization进行详尽解释,此外,我们还将为大家带来关于.net – SqlMembershipProvider与自定义解决方案、.net – 为MembershipProvider添加额外的属性、.net4.0开发支持MySql的Membership时遇到找不到MembershipProvid、ASP.Net Identity 2.0:用户是System.Web.Security.RolePrincipal,为什么?的相关知识,希望对你有所帮助。

本文目录一览:

asp.net – System.Web.Security.MembershipProvider在哪里?(asp.net authorization)

asp.net – System.Web.Security.MembershipProvider在哪里?(asp.net authorization)

我有一个图书馆项目应该是几个Web应用程序的基础。我试图实现System.Web.Security.MembershipProvider,但由于某种原因Visual Studio找不到它。它设法找到System.Web.Security.sqlMembershipProvider但不是MembershipProvider。

任何想法为什么?

我使用Visual Studio 2010与.NET 4。

解决方法

从.NET 4开始,System.Web.applicationservices.dll中声明了 MembershipProvider(奇怪的是),因此您需要添加对该程序集的引用。在.NET 3.5及更早版本中,MembershipProvider在System.Web.dll中声明。

提示:要找出哪个程序集包含任何.NET Framework类,只需搜索MSDN Library中的类。这就是MembershipProvider page for .NET 4所说的:

Namespace: System.Web.Security
Assembly: System.Web.applicationservices (in System.Web.applicationservices.dll)

这就是MembershipProvider page for .NET 3.5所说的:

Namespace: System.Web.Security
Assembly: System.Web (in System.Web.dll)

.net – SqlMembershipProvider与自定义解决方案

.net – SqlMembershipProvider与自定义解决方案

我在一个小型的开发人员团队中工作,对于完成一系列核心任务的最佳方法没有达成共识,其中一个是会员提供者.现在我无法确定这是否与缺乏其他思维方式或足够规模的项目有关,需要进行重大调查.

多年来我一直是.net网络开发人员(之前是PHP和asp经典),通常在开发应用程序时,我回避使用内置的.net sqlMembershipProvider主要是因为它经常看起来非常复杂,因为我的需求,其次是因为我只能想象这样一个复杂的数据模型可能会受到性能影响.

通常,我使用在相当简单的用户上操作的自定义成员资格和角色提供程序 – >用户角色< - 角色类型架构.我维护标准的成员资格提供程序功能,例如帐户恢复,配置文件详细信息,失败的登录帐户锁定,机密问题等,具体取决于相关应用程序的需求,例如AD安全应用程序几乎没有其他功能,面向公众的应用程序通常会有商场.它还意味着,如果出现任何需要存储过程来咀嚼用户数据的任务,那么它们很容易编写并且执行得非常好.直接的sql命令,良好的索引和简单的数据模型,产生了一个高性能,可扩展的解决方案,需要改变我有完全的控制权,可以根据需要进行更改,这是我认为非常宝贵的. 根据您的经验,您会说这是一种过时的方法吗?您是否曾在内置提供程序中遇到任何可伸缩性问题?您通常采取什么方法以及在什么情况下? 谢谢

解决方法

除非你特别指出了令人信服的理由,否则我建议你从sqlMembershipProvider开始,并根据需要进行调整.

我们发现内置的提供商为我们提供了所有基础知识,而我们几乎没有任何工作.开发一个良好的安全结构有很多元素,很容易忘记其中一个,或者只是为了变得懒惰,而不是在你自己滚动时以“正确”的方式实现一个.我想到了通过电子邮件密码和密码重置等问题.

当然,sqlMembershipProvider并不是神奇的子弹.我们有一些情况需要做一些更复杂的身份验证.但我们只能通过扩展sqlMembershipProvider而不是替换它来解决这些问题.有关详细信息,请参阅What is a good way to extend .Net Membership to track user logins的答案.

我们没有注意到sqlMembershipProvider产生的任何重大性能问题,所以我认为播放性能卡是没有根据的.毕竟,您的用户通常花多少时间登录系统?如果您的所有页面加载速度很快,那么根据您可能会提高性能的(可能是错误的)想法编写所有自己的代码并没有真正的理由.这是我们一直在阅读的可怕的“过早优化”.

角色框架对我们的需求来说太简单了,所以我们根本不使用它.但它也没有妨碍.

而且,正如Hogan指出的那样,你更有可能找到已经熟悉内置提供程序工作方式的开发人员,这意味着他们将花费更少的时间来弄清楚你的架构和(希望)更多的时间完成真正的工作.

.net – 为MembershipProvider添加额外的属性

.net – 为MembershipProvider添加额外的属性

我正在使用sqlMemberShipProvider,它运行良好,但我希望MembershipUser有一些额外的属性,如FirstName,LastName,Phone Number等.最好的方法是什么?我是否必须创建自定义成员资格提供程序,或者是否有更好的方法向用户添加其他功能?

解决方法

有关用户的其他信息正是070​​00的用途.您可以在web.config文件中指定您想要的额外属性和默认提供程序(如果您将继续使用当前使用的sql,则为 SqlProfileProvider)将为您处理持久性.

这是how to build the sample的链接.

.net4.0开发支持MySql的Membership时遇到找不到MembershipProvid

.net4.0开发支持MySql的Membership时遇到找不到MembershipProvid

在.net4.0中使用system.web.security.membershipprovider类时,必须引用: ''System.Web.dll'' ''System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35''. 否则提示找不到MembershipProvider类。 解决了这个问题

在.net4.0中使用system.web.security.membershipprovider类时,必须引用:

''System.Web.dll'' 

''System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35''.

否则提示找不到MembershipProvider类。

 

解决了这个问题,终于可以尝试一下Membership连接MySql数据库,呵呵。

ASP.Net Identity 2.0:用户是System.Web.Security.RolePrincipal,为什么?

ASP.Net Identity 2.0:用户是System.Web.Security.RolePrincipal,为什么?

我正在尝试在现有应用程序中实现Asp.Net Identity 2.0(OWIN),并且在角色方面遇到各种各样的麻烦.我从项目模板创建了一个示例项目(据我所知)我已经将所有内容复制到我的应用程序中.我修改了连接信息,因此身份验证表来自我自己的sql数据库,而不是默认的本地数据库.

一切似乎都很好.这些表在启动时初始化(创建),我可以创建新用户,为该用户分配角色,并以该用户身份登录.但是当我尝试检查用户是否处于特定角色时,我得到一个异常,表明找到本地数据库时出现问题.好吧那是因为我没有使用本地数据库.那么为什么我的应用程序会在(不存在的)本地数据库中寻找角色?

为了排除我的sql实例中的怪异,我更改了示例应用程序的连接数据,以便它指向我的数据库并运行它.我可以使用我在应用程序中创建的用户登录,甚至可以成功地轮询用户以查询相关角色.我通过直接检查表确认了这一点,并验证了用户,角色和用户角色关联都在那里.

这是我注意到的.当我运行示例应用程序时,用户是System.Security.Claims.ClaimsPrincipal的实例.但是当我运行我的应用程序时,用户是System.Web.Security.RolePrincipal的一个实例.

那么,我错过了什么?为什么我的应用程序返回RolePrincipal而不是ClaimsPrincipal?我在哪里可以找到线索?

我正在把头发拉出来,我没有多少离开!任何帮助将不胜感激.

解决方法

发生的事情是您的旧应用程序仍然与旧的会员代码挂钩.一些清单项目应该带你回来……

确保删除FormsAuthenticationModule(因为MVC5不再使用它)

<modules>
  <remove name="FormsAuthenticationModule" />
</modules>

确保关闭SimpleMembership(或者只是删除它)

<add key="enableSimpleMembership" value="false"/>

最重要的部分是删除对WebMatrix的引用(不再在MVC 5中使用). WebMatrix将自动注册预先应用程序启动方法,这些方法将“尝试”为您的项目提供成员资格服务. See here for details

关于asp.net – System.Web.Security.MembershipProvider在哪里?asp.net authorization的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.net – SqlMembershipProvider与自定义解决方案、.net – 为MembershipProvider添加额外的属性、.net4.0开发支持MySql的Membership时遇到找不到MembershipProvid、ASP.Net Identity 2.0:用户是System.Web.Security.RolePrincipal,为什么?等相关知识的信息别忘了在本站进行查找喔。

本文标签: