实体框架 – 为什么没有[Authorize(Roles =“Admin”)]在具有ASP
发布时间:2020-12-15 22:44:14 所属栏目:asp.Net 来源:网络整理
导读:[Authorize(Roles =“Admin”)]是否在MVC 5 RTM中与 ASP.NET Identity开箱即用? 我没有运气.请注意,[Authorize]和[Authorize(Users =“AdminUser”)]工作正常,AspNetUserRoles和AspNetRoles表格按照我们期望的方式进行填充,建立AdminUser用户和Admin角色之
[Authorize(Roles =“Admin”)]是否在MVC 5 RTM中与
ASP.NET Identity开箱即用?
我没有运气.请注意,[Authorize]和[Authorize(Users =“AdminUser”)]工作正常,AspNetUserRoles和AspNetRoles表格按照我们期望的方式进行填充,建立AdminUser用户和Admin角色之间的关系.这个问题似乎特定于角色. 解决方法
用户可能需要重新身份验证才能接收包含管理员角色成员资格的新声明.由于MVC 5在开箱即用的情况下使用ASP.NET身份认证,默认情况下,MVC 5中的ASP.NET身份存储在用户Cookie中声称的角色,这些信息可能会变得陈旧(因此数据库表示有一件事,但用户的Cookie表示别的东西)重新认证用户将刷新他们的声明,包括用户角色声明,以匹配数据库的当前状态.
例如: 如果用户在数据库中分配给管理员角色之前登录,用户将被授予权限,但不会将其分配给管理员角色.如果稍后将它们添加到管理员角色中,则存储在其Cookie中的声明不会自动更新.相反,只有数据库已被更新,应用程序必须重新认证它们,然后再将旧的声明替换为包含管理员角色成员身份的新声明.让用户手动退出并重新登录,是重新验证该用户的最明显的方式. 这是Using Claims in ASP.NET Identity的一篇文章 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.net会话cookie丢失或删除
- 如何让OleDb在asp.net核心项目中阅读excel
- asp.net-mvc-4 – mvc 4捆绑和缩小 – 当我刷新时没有获得3
- asp.net-mvc – 在ajax请求中返回PDF
- asp.net – jqGrid – 如何计算列到jqgrid?
- asp.net在Server.Transfer之后如何获取当前页面的路径?
- asp.net-mvc-3 – 如何在mvc3的dropdownlist中获取国家/地区
- asp.net CustomValidator从不触发OnServerValidate
- asp.net-mvc-3 – Razor reseverd words
- asp.net – Response.IsClientConnected如何在幕后工作?
推荐文章
站长推荐
热点阅读