使用 GenericPrincipal 实例设置角色

发布于 2024-12-23 17:59:58 字数 607 浏览 0 评论 0原文

最近我问了一个关于如何使用ajax调用的问题 在 asp.net mvc 中验证用户身份,我得到了答案。

但随后决定使用“GenericPrincipal”类的“角色”属性

,因此我按如下方式更改了代码以包含“角色”:

HttpContext.User = new System.Security.Principal.
                    GenericPrincipal(new System.Security.Principal.GenericIdentity(login.LoginName),
                     userRole);

在我的 site.master 视图中,我检查用户是哪种角色 属于并且我显示适当的菜单,但是当我观看时 调试期间的“HttpContext.Current.User.Identity”值, 我看到 m_roles=string[0] 和 'IsInRole("Admin")' 返回 false。

怎么解决呢?

Recently I asked a question about how to use ajax calls to
authenticate user in asp.net mvc
, and I got my answer.

But then is decided to use 'Roles' property of 'GenericPrincipal' class

so I changed my code as follow to contain 'Roles':

HttpContext.User = new System.Security.Principal.
                    GenericPrincipal(new System.Security.Principal.GenericIdentity(login.LoginName),
                     userRole);

In my site.master view, I check to see which kind of roles users
belongs to and I show appropriate menu, but when I watch
'HttpContext.Current.User.Identity' values during debugging,
I see m_roles=string[0] and 'IsInRole("Admin")' returns false.

How could it be fixed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

紫竹語嫣☆ 2024-12-30 17:59:58

尝试设置当前线程原理:

   System.Threading.Thread.CurrentPrincipal = principal;

如图:
http://social.msdn.microsoft.com/forums/en-US/Vsexpressvcs/thread/5f9735a9-096b-47af-963d-e95130cad6b4

Try setting the current thread principle:

   System.Threading.Thread.CurrentPrincipal = principal;

as is shown here:
http://social.msdn.microsoft.com/forums/en-US/Vsexpressvcs/thread/5f9735a9-096b-47af-963d-e95130cad6b4

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文