0

用户登录后。我将他们的用户名保存到 cookie 中。

FormsAuthentication.SetAuthCookie(userName, createPersistentCookie);

用户有角色,“成员”、“员工”、“经理”

对于那些只允许管理员进入的页面。我现在所做的是使用他们的用户名查询数据库。

GetRoles(用户名)

这会产生很多开销,每次他们访问受角色保护的页面时,我都需要检查数据库。

我想知道是否可以让 SetAutheCookie 设置一些值,而不仅仅是用户名。

我现在所做的是将用户名、角色组合在一个字符串中。

FormsAuthentication.SetAuthCookie(userName + "|" + role.tostring(), createPersistentCookie);

这绝对不是最好的解决方案。

4

1 回答 1

1

此 SO 问题的最受好评的答案提供了在表单身份验证 cookie 中存储和检索角色的示例:存储/分配身份验证用户的角色

于 2012-07-23T15:51:21.303 回答