2023-02-16 322
我有一个ASP.NET MVC应用程序,我需要在其中允许客户根据其环境配置成员Hipproviders,但仍然能够将该会员使用者映射到我们数据库中的具体用户模型.
>
Membership.GetUser()将使我访问已登录的用户的Membership.ProviderUserKey.我可以使用它与用户记录有关.我们的自定义SQL提供商只会返回用户.ID,但是广告是另一回事.在这种情况下,ProviderUserKey是IdentityReference.
您可以想象,这些查找会经常发生(尽管缓存可以帮助减少数据库级别的查找).
我无法确定哪个路线更好:将SID存储为Varbinary或varchar列.此列将不是主要键,也不会具有群集索引.知道我可以很好地索引字符串,并且以弦乐格式阅读SID肯定比二进制更好.有人愿意分享他们如何解决这种情况?
我不知道我是如何错过这个问题当我在发布之前搜索时,很明显ActiveDirectoryMembershipProvider和ActiveDirectoryMembershipUser并没有像今天的任务一样删除.
这个问题的答案链接以下文章,其中说明以下内容:
A的相对标识符部分
SID相对于域是独一无二的
因此,如果域发生变化,相对
标识符也更改.因此,当用户对象从一个移动时
域名到另一个,一个新的小溪必须是
为用户帐户生成
存储在object-sid属性中.
但是,每个组和用户都有一个对象指示,即使帐户已移动,也永远不会更改.因此,我应该在用户类中使用对象引导,而不是对象距离.否则,如果某人移动,将放弃他们的用户记录,从而破坏其本金和创建数据之间的关系.
不幸的是,ActiveDirectoryMembershipUser不允许我掌握对象引导.因此,在ActiveDirectoryMembershipUser完成工作之后,我要么必须将SID转换为GUID,要么创建自己的MembershipProvider来完成我当场需要的一切.不幸的是,这意味着我可能不得不复制ActiveDirectoryMembershipProvider.
为我所做的努力.
Microsoft在/a>
这也是一个唯一的列,因此必须具有索引…
用户名是您要索引的最后一件事.
SIDS仅在将用户从一个域更改为另一个域时会更改广告. RIDS分为2组 – 内置(
如果您想处理用户的移动等,那么GUID就是要走的路.
可以在用户和组管理中随时更改用户名.
这与不变的对象名称不同,但我不认为在森林中是独一无二的.您可以拥有任何数量的John Smith用户.
我会研究ADSI对象.这些是可以从ASP访问的COM对象. MSDN解释得很好. ADSearch对象可用于从GUID返回用户属性(例如DN)
听起来您使这比需要的要困难得多.您需要SID或GUID什么?您已经为在ActiveDirectory中维护的用户帐户提供了独特的,完全可读的标识符.
称为”用户名”.希望它与您的应用程序”用户”表中存储的用户名相同.
您的应用程序只需要知道该用户名是否成功地验证了ActiveDirectory.因此,如果他们成功登录 – 您只需存储它们在会话变量中已验证的事实.
如果他们被配置为使用DB用户登录,如果成功设置了相同的会话变量,则表示他们成功登录.
没有花哨的指导或小溪…简单.
以上所述是小编给大家介绍的将Windows SID存储在数据库中进行查询,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/33947.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态