首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >覆盖SQLMembershipProvider

覆盖SQLMembershipProvider
EN

Stack Overflow用户
提问于 2010-05-27 09:14:48
回答 1查看 628关注 0票数 0

是否有内置在.net框架中的方法来执行以下操作:

  1. 从用户名获得角色GUID /用户GUID
  2. 从角色GUID

获取角色名称

到目前为止,我一直在向asp_roles和asp_users表发送查询以获取这些信息,我想知道是否有更好的方法来做到这一点?

我有以下方法存储在ASPUtilities类中:

代码语言:javascript
复制
getRoleGUID(guid userGuid) { LINQ joins }

getRoleGuid(string userName) { LINQ joins  }

getRoleName(guid roleGuid) { LINQ joins  }

编辑:

我刚刚研究了扩展SQLMembershipProvider示例。

很少有例子完全覆盖了SQLMembershipProvider,但我想我感兴趣的是添加几个额外的方法来使用LINQ来处理角色。这可行吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-27 11:36:42

如果扩展SQLMembership提供程序,它将执行完全相同的操作,向数据库发送查询以获取该信息,因为roleID并不存储在会话中。如果你不想经历那么多的麻烦,你可以做一些事情。

  1. 使用这些方法创建一个自定义类,您可以调用这些方法,并将返回角色的ID。本质上,在登录时将所有查询移到一个location.
  2. Store中--会话中的角色ID。调用上面创建的方法一次,而不是每次请求。但是,由于您正在会话中存储一些可能比较敏感的角色信息( id ),所以没有100%的安全风险。不过,可能只是过于谨慎:)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2919823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档