0

到目前为止,我已经看到了几个 ASP.NET 角色提供程序的自定义实现,它们都符合基类要求,即角色检查是基于字符串用户名完成的。(例如IsUserInRole(string username))。基于此字符串用户名将是用户实体的唯一键这一事实,是否对角色提供者提出了要求?

我的用户类使用 GUID Id 作为用户实例的唯一标识符。

PS 我知道在设置身份验证 cookie 时我需要使用 thie GUID Id。只是想确保我了解用户名角色关联背后的动机。

4

1 回答 1

0

很可能是因为从 IPrincipal 获取用户名非常容易。所以你可以轻松做到IsUserInRole(User.Identity.Name)

更重要的是,FormsAuthentication 系统必须能够依赖 IPrincipal 在授权级别进行验证,并且唯一可用的信息是用户名。

于 2012-08-20T18:15:47.927 回答