如果我只使用Windows授权,我可以轻松使用User.IsInRole(“Web Developers”)而不会出现问题。但是,当我添加SQL角色提供程序时,如果我使用组的SID,User.IsInRole将仅返回true(对于Active Directory组)。
这似乎不是预期的行为。我已经看到SID查询在性能上更好,但是当人类可读的名称可用时,使用机器可读的SID进行编程似乎不是最理想的。
我的解决方法是编写一个按名称执行SID查找的方法,并将其传递给User.IsInRole(降低性能),我想避免这种情况。
有人可以提出解决方案,还是指出我正确的方向?