Membership.ApplicationName 问题
Membership.ApplicationName
是一个静态字符串。
我的问题是,如果我想更改此值以查询同一数据库上另一个应用程序的成员身份,则更改是永久性的,这意味着当前站点的应用程序名称现已全局更改为该值。
在完美的世界中,我可以调用Membership.GetUser($username, $ApplicationName),但这样的函数不存在。
任何人都可以提供任何想法吗?
Membership.ApplicationName
is a static string.
My issue is that if i want to change this value to interogate the membership of another application on the same database, the change is permanent, meaning the Application Name for the current site has now globally changed to this value.
In a perfect world i could call Membership.GetUser($username, $ApplicationName)
, but such a function doesnt exist.
Can anyone offer any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Membership.ApplicationName 在设计上是全局的。 MSDN 文档指出,如果您需要一个可以更改此值的应用程序,它应该是单用户应用程序。
http://msdn.microsoft.com/en -us/library/system.web.security.membership.applicationname.aspx
(阅读“备注”下的“警告”部分)
有两种方法可以解决您的问题:
1) 创建一个单独的应用程序来管理用户。
2) 编写一个具有您建议的方法的自定义会员提供程序。您还需要编写数据访问层,但数据库结构定义良好,因此应该不会太难。
The Membership.ApplicationName is global by design. The MSDN documentation states that if you need an application that can change this value, it should be a single user app.
http://msdn.microsoft.com/en-us/library/system.web.security.membership.applicationname.aspx
(Read the Caution section under Remarks)
There are two alternatives to solving your problem:
1) Create a separate application for administering the users.
2) Write a custom Membership Provider that has the method you suggested. You would need to write the data access layer as well but the DB structure is well defined so it shouldn't be too hard to do.